在前后端分離的情況下,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,這樣不需要考慮太多情況
