shiro默認添加的攔截器:
org.apache.shiro.web.filter.mgt.DefaultFilter
anon(AnonymousFilter.class), 匿名訪問
authc(FormAuthenticationFilter.class), 表單驗證
authcBasic(BasicHttpAuthenticationFilter.class),
Http認證
logout(LogoutFilter.class), 退出
noSessionCreation(NoSessionCreationFilter.class),
不創建Session
perms(PermissionsAuthorizationFilter.class),
權限認證:認證filterChainDefinitions中定義的權限。
實際的權限認證配置spring-servlet-shiro.xml中,運行中匹配Controller方法上的@RequiresPermissions註解
執行Subject.checkPermissions(permissions)或Subject.checkPermission(permission),會拋出異常,有SpringMVC處理
port(PortFilter.class), 端口認證
rest(HttpMethodPermissionFilter.class), Http提交方式
roles(RolesAuthorizationFilter.class), 角色
user(UserFilter.class); 用戶認證:如果登錄則請求繼續,如果未登錄則保存當前請求,重定向到登錄頁面