温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

springMVC 拦截器如何做登录检查及页面跳转

发布时间:2020-05-28 21:16:54 来源:网络 阅读:340 作者:tianyuxinchuan 栏目:软件技术

一个非常简单的登录权限拦截器

问题一:登录页面的提交请求肯定是要过滤掉的,目前采用在xml里配置<mvc:mapping path="/supplier/*"/>来过滤,可不可以配置不拦截某种请求。如果是按目前这种配置需要拦截请求,当请求太多的时候那就太麻烦了。

问题二:我简单地在拦截器里判断session是否有值,如果有表示登录,如果没有则跳转登录页面。按我下面的做法是不行的,有没有正确而有效的方法。

问题三:如果大家能够给出在拦截器内跳转页面的方案,可我的login.jsp是放在WEB-INF下面的,通过ModelAndView跳转时,视图解析器会跳转到/WEB-INF/login.jsp下,那肯定是找不到页面的。但如果我放到此文件夹下,那浏览器又不能访问login.jsp页面了。

public class UserInterceptor implements HandlerInterceptor{  
  
    @Override  
    public void afterCompletion(HttpServletRequest request,  
            HttpServletResponse response, Object obj, Exception err)  
            throws Exception {  
    }  
  
    @Override  
    public void postHandle(HttpServletRequest request, HttpServletResponse response,  
            Object obj, ModelAndView mav) throws Exception {  
        response.sendRedirect("/login.jsp");  
    }  
  
    @Override  
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response,  
            Object obj) throws Exception {  
        String str = (String) request.getSession().getAttribute("isLogin");  
        System.out.println("str=========>"+str);  
        if(str!=null){  
            return true;  
        }  
        return false;  
    }  
}
  1. <!-- 自定义拦截链配置 -->  

  2.     <mvc:interceptors>  

  3.         <mvc:interceptor>  

  4.             <mvc:mapping path="/supplier/*"/>  

  5.             <mvc:mapping path="/goods/*"/>  

  6.             <mvc:mapping path="/contact/*"/>  

  7.             <bean class="com.xiaoxing.shangjia.user.controller.UserInterceptor"></bean>  

  8.         </mvc:interceptor>  

  9.     </mvc:interceptors>  

springMVC 拦截器如何做登录检查及页面跳转
获取【下载地址】 

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI