shiro学习19-shiro提供的filter-logoutFilter

这个类很简单,用于在退出登录时将以前登录的用户注销掉,并且重定向到配置的页面,默认的是”/”,可以改变redirectUrl这个属性,使其跳转到我们指定的页面。

 

看看他的preHandle方法

@Override
    protectedboolean preHandle(ServletRequest request, ServletResponse response) throws Exception {
        Subject subject = getSubject(request, response);
        String redirectUrl = getRedirectUrl(request, response, subject);
        try {
            subject.logout();//调用logout方法。从session中删除之前放入session的内容。下一次再访问的时候就必须重新登录了。
        } catch (SessionException ise) {
            log.debug("Encountered session exception during logout.  This can generally safely be ignored.", ise);
        }
        issueRedirect(request, response, redirectUrl);
        returnfalse;
    }

 

在这个方法中返回了false,也就是不再执行其他的操作,直接到浏览器重定向了。所以如果我们还有别的操作的话可以继承这个类,然后在afterCompletion方法中操作。

相关推荐