拦截器,利用拦截器进行登陆权限控制
生活随笔
收集整理的這篇文章主要介紹了
拦截器,利用拦截器进行登陆权限控制
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
攔截器,登錄權限控制demo
- 1. 攔截器demo
- 2. 登錄權限控制
地址:
https://github.com/sevenyoungairye/spring-mvc-interceptor
1. 攔截器demo
- 什么是攔截器
- 創建攔截器 實現HanlderInceptro接口
攔截器1
package cn.bitqian.interceptor;import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;/*** spring mvc 攔截器入門* @author echo lovely* @date 2020/9/6 17:30*/ public class MyInterceptor1 implements HandlerInterceptor {// 在目標方法執行之前執行@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response,Object handler) throws Exception {System.out.println("preHandler..");String param = request.getParameter("param");if ("yes".equals(param)) {return true;}// 參數錯誤跳轉到錯誤的頁面request.getRequestDispatcher("/error.jsp").forward(request, response);// 放行return false;}// 在目標方法執行之后,視圖返回之前執行@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response,Object handler, ModelAndView modelAndView) throws Exception {// 可以在視圖對象返回之前 修改modelif (modelAndView != null) // 如果訪問的目標資源沒有 ModelAndView返回,會null pointermodelAndView.addObject("name", "bitQian adorable");System.out.println("post handler");}// 在所有流程執行完后 執行@Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {System.out.println("after completion");} }攔截器2
package cn.bitqian.interceptor;import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;/*** 攔截器2 與攔截器1構成鏈* @author echo lovely* @date 2020/9/6 21:40*/ public class MyInterceptor2 implements HandlerInterceptor {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {System.out.println("pre handle22222...");return true; // 經過攔截器2 放行}@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {System.out.println("post handle222222222...");}@Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {System.out.println("completion222222...");} }- 配置攔截器
- 目標方法(controller)
- 測試攔截器的攔截效果
未帶參數跳轉到對應的頁面
當我帶參數
2. 登錄權限控制
- 頁面
- user controller
- 權限控制攔截器
- 對目標方法進行攔截,除login
總結
以上是生活随笔為你收集整理的拦截器,利用拦截器进行登陆权限控制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Chrome 离线下载最佳方法
- 下一篇: qt qthead里如何响应信号_Qt