springboot集成shiro 前后端分离 统一处理shiro异常

在前后端分离的情况下,shiro一些权限异常处理会返回401之类的结果,这种结果不好统一管理。我们希望的结果是统一管理,所有情况都受我们控制

就算权限验证失败,我们也希望返回200,并且返回我们定义的信息之类的。

默认的拦截器情况

public enum DefaultFilter {
    anon(AnonymousFilter.class),
    authc(FormAuthenticationFilter.class),
    authcBasic(BasicHttpAuthenticationFilter.class),
    logout(LogoutFilter.class),
    noSessionCreation(NoSessionCreationFilter.class),
    perms(PermissionsAuthorizationFilter.class),
    port(PortFilter.class),
    rest(HttpMethodPermissionFilter.class),
    roles(RolesAuthorizationFilter.class),
    ssl(SslFilter.class),
    user(UserFilter.class);

分成2种情况 1.未登录或者登录失效  2.权限不足 

为了方便 在perms之前加authc这样拦截器会先走authc,这样不需要考虑太多情况

posted @ 2018-07-05 17:40  cshhs  阅读(7868)  评论(0编辑  收藏  举报