过滤器实现权限控制

过滤器实现权限控制

关键思路就是首先你要确定你要给哪些页面放行,就给这部分dofilter()

例如:

HttpServletRequest req=(HttpServletRequest)request;
        HttpServletResponse resp=(HttpServletResponse)response;
        String servletPath=req.getServletPath();
        System.out.println(servletPath);
        HttpSession session =req.getSession();
        String flag =(String) session.getAttribute("flag");
        if(servletPath!=null&&servletPath.equals("/16/index.jsp")||
                servletPath.equals("/16/login.jsp")||servletPath.equals("/loginServlet16")) {
        // pass the request along the filter chain
        chain.doFilter(request, response);
        }else{
            if(flag!=null&&flag.equals("success")){
            chain.doFilter(request, response);
        }else {
            session.setAttribute("return_url", req.getContextPath()+servletPath);
            RequestDispatcher rd=req.getRequestDispatcher("/16/login.jsp");
            rd.forward(req, resp);
        }
    }

比如:我现在有三个页面

hello.jsp

index.jsp

login.jsp

那么一开始都是进入index.jsp页面,但是只有登录成功者才能进入hello.jsp

所以除了hello.jsp,其他都直接放行

那么接下来就是给登录成功状态的用户放行

登录以后,在session中记录了登录状态为success,那么所有登录成功状态的用户也将被放行

其余没登录或者登录失败的用户则无法被放行,他们访问hello.jsp页面时则会被直接跳转到login.jsp页面,然后登录成功后直接进入将要访问的hello.jsp页面

备注:一定别忘了给servlet放行

转载于:https://www.cnblogs.com/xtuxiongda/p/9028980.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值