在前后端分离的情况下,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,这样不需要考虑太多情况