欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

过滤器用来拦截用户是否登录访问权限的问题(通过session来进行拦截)

程序员文章站 2024-01-21 15:19:22
...

过滤器用来拦截用户是否登录访问权限的问题(通过session来进行拦截)

例如:等用户登录后才可以访问admin文件夹下面的网页则在web.xml中先进行如下配置


LoginFilter
com.zt.filter.LoginFilter


LoginFilter
/admin/*

当用户登录成功后将用户信息保存在session当中
在过滤器中对session中的user信息进行判断,如果session不为空,则放行,否则跳回登录页面

      public void doFilter(ServletRequest request, ServletResponse response,
                         FilterChain chain) throws IOException, ServletException {
               //向下转型
               HttpServletResponse rep = (HttpServletResponse) response;
               HttpServletRequest req =(HttpServletRequest) request;
               // 放行
               HttpSession session =req.getSession();
               if (session.getAttribute("user")!=null) {
                         chain.doFilter(req, rep);
               }else {
                         rep.sendRedirect("../login.jsp");
               }
      }