标签:处理 https pre sys override object info exce post
1、如何实现登录权限检查
使用session进行约定值的检查
实现方法:
(1)使用Filter
(2)使用Spring的拦截器
拦截器组件简介:Spring MVC特有组件,可以在调用Controller之前拦截,也可以在调用Controller之后拦截,还可以在JSP解析完毕向浏览器输出之前拦截。
先创建一个拦截器:
public class LoginInteceptor implements HandlerInterceptor{ //请求处理完毕,输出之前 @Override public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3) throws Exception { System.out.println("afterCompletion"); } //进入Controller之后 @Override public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3) throws Exception { System.out.println("postHandle"); } //进入Controller之前 @Override public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2) throws Exception { System.out.println("preHandle"); //false代表请求被拦截截断,不会传递到Controller,true代表请求将继续传递至Controller return true; } }
拦截器配置:
(1)只想拦截某一个请求:
<!-- 配置拦截器 --> <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/hello.do"/> <bean class="com.zlc.inteceptor.LoginInterceptor"></bean> </mvc:interceptor> </mvc:interceptors>
(2)要拦截多个特定请求:
<!-- 配置拦截器 --> <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/hello.do"/> <mvc:mapping path="/success.do"/> <bean class="com.zlc.inteceptor.LoginInterceptor"></bean> </mvc:interceptor> </mvc:interceptors>
(3)或者使用通配符,拦截某些请求,还可以使用<mvc:exclude-mapping path=""/>,排除某些请求的拦截
<mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/*"/> <!-- 该请求不要拦截 --> <mvc:exclude-mapping path="/hello.do"/> <bean class="com.zlc.inteceptor.LoginInterceptor"></bean> </mvc:interceptor> </mvc:interceptors>
标签:处理 https pre sys override object info exce post
原文地址:https://www.cnblogs.com/zlingchao/p/9419469.html