springMVC自定义拦截器(Interceptor)实现登陆验证 港控/mmm° 2022-03-22 12:25 236阅读 0赞 # 1.为什么要登陆拦截 # 在未登录之前,我们并不希望用户可以看见里面的内容,这时候就要设置拦截器,只有登陆之后的用户才可以看见里面的内容。 # 2.实现思路 # 使用拦截器,判断session里是否有用户信息,若有,则放行,若没有,则重定向到登陆页面。 # 3.springMVC配置 # <!--配置拦截器--> <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**"/> <mvc:exclude-mapping path="/home/**"></mvc:exclude-mapping> <mvc:exclude-mapping path="/**/*.css"/> <mvc:exclude-mapping path="/**/*.js"/> <mvc:exclude-mapping path="/**/*.png"/> <mvc:exclude-mapping path="/**/*.gif"/> <mvc:exclude-mapping path="/**/*.jpg"/> <mvc:exclude-mapping path="/**/*.jpeg"/> <mvc:exclude-mapping path="/registerUser"></mvc:exclude-mapping> <mvc:exclude-mapping path="/checkId"></mvc:exclude-mapping> <mvc:exclude-mapping path="/register"></mvc:exclude-mapping> <bean class="com.sustly.interceptors.LoginInterceptor"></bean> </mvc:interceptor> </mvc:interceptors> 配置拦截所有请求,除了登陆注册页面以及静态资源文件。 # 4.Interceptor类编写 # public class LoginInterceptor implements HandlerInterceptor { public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object o) throws Exception { String id = (String) request.getSession().getAttribute("id"); if(id == null) { response.sendRedirect("/home/login"); return false; }else { return true; } } public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception { } public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception { } }
还没有评论,来说两句吧...