关于html页面拦截器权限控制

      最近项目中比较喜欢在前端用html,这样直接把页面贴进去方便好多,并且html响应也比较快,但是对于html权限这块,应用拦截器可以很简单的实现。

       直接贴代码

public class MyInterceptor implements HandlerInterceptor {
private Logger logger=Logger.getLogger(MyInterceptor .class);
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        //请求的路径
        String url = request.getServletPath().toString();
        logger.info("url:" + url);
        //1、静态资源直接放行html img css js
        if (request.getServletPath().contains(".")) {
            return true;
        }
        //2、放行登录请求
        if (request.getServletPath().endsWith("login")) {
            return true;
        }
        //3、下载pdf放行  .pdf下载
        if (request.getServletPath().endsWith("download")) {
        return true;
        }
        //4、如果用户已经登录,从Header中获取Authorization
        String authorization = request.getHeader("Authorization");
        //5 判断token是不是空
        if (authorization == null) {
            return false;
        }

//这里token可以根据个人爱好,随便使用任何加密算法来实现
        String token="xxxxxxxx";
        //6、验证token是否为真实, 这里验证token签名  根据特殊秘钥  一般我们签名当前最火的是redis
        if (token.equals(authorization)) {
            return true;
        }
        //7非法请求 即这些请求需要登录后才能访问
        Response baseResponse = new Response();
        baseResponse.setCode("403");
        baseResponse.setMessage("权限不够");


        response.setContentType("text/json;charset=UTF-8");
        response.setCharacterEncoding("UTF-8");
        response.getWriter().write(baseResponse);
        return false;
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值