美文网首页工作生活
shiro 登录 过滤器 返回json

shiro 登录 过滤器 返回json

作者: mml_慢慢来 | 来源:发表于2019-07-02 16:19 被阅读0次
    /**
         * 表示访问拒绝时是否自己处理,如果返回true表示自己不处理且继续拦截器链执行,返回false表示自己已经处理了(比如重定向到另一个页面)
         * @param request
         * @param response
         * @return
         * @throws Exception
         */
        @Override
        protected boolean onAccessDenied(ServletRequest request, ServletResponse response) throws Exception {
            if (this.isLoginRequest(request, response)) {
                if (this.isLoginSubmission(request, response)) {
                    return this.executeLogin(request, response);
                } else {
                    return true;
                }
            } else {
                if(AjaxUtil.isAjaxRequest(request)){
                    response.setContentType("application/json;charset=UTF-8");
                    response.getWriter().print("你咩有登录,跳转到登录页面");
                }else{
                    this.saveRequestAndRedirectToLogin(request, response);
                }
                return false;
            }
        }
    

    请先阅读点击打开链接

    在自己实现的form登录过滤器里加上ajax提交验证,如果是ajax验证则返回json数据即可

    在父类FormAuthenticationFilter 里onAccessDenied该方法是直接调用saveRequestAndRedirectToLogin

    我这里做了ajax验证判断,这是登录过滤器,所以我直接返回没有登录信息,如果有其他过滤器 同理即可

    相关文章

      网友评论

        本文标题:shiro 登录 过滤器 返回json

        本文链接:https://www.haomeiwen.com/subject/eicthctx.html