您的位置:首页 > Web前端 > HTML

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

2017-05-26 11:23 405 查看
      最近项目中比较喜欢在前端用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;

    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: