Apache Shiro
ShiroFilterFactoryBean
全局URL配置
- loginUrl
- successUrl
- unauthorizedUrl
FilterChainDefinition
以上配置等价于 url = filter1[op1], ..., filterN[opN]
, 一条连接中配置的多个filter组成一条filterChain.
如: /index.html
的filterChian
由anon
(AnonymousFilter
)组成
当浏览器发起请求时候通过url
匹配来选择所需要的filterChain
达到权限过滤的目的.
Shiro Filter
anon | 匿名过滤器 | o.a.s.w.f.authc.AnonymousFilter |
authc | 如果继续操作,需要做对应的表单验证否则不能通过 | o.a.s.w.f.authc.FormAuthenticationFilter |
authcBasic | 基本http验证过滤如果不通过,跳转屋登录页面 | o.a.s.w.f.authc.BasicHttpAuthenticationFilter |
logout | 登录退出过滤器 | o.a.s.w.f.authc.LogoutFilter |
noSessionCreation | 没有session创建过滤器 | o.a.s.w.f.session.NoSessionCreationFilter |
perms | 权限过滤器 | o.a.s.w.f.authz.PermissionsAuthorizationFilter |
port | 端口过滤器,可以设置是否是指定端口如果不是跳转到登录页面 | o.a.s.w.f.authz.PortFilter |
rest | http方法过滤器,可以指定如post不能进行访问等 | o.a.s.w.f.authz.HttpMethodPermissionFilter |
roles | 角色过滤器,判断当前用户是否指定角色 | o.a.s.w.f.authz.RolesAuthorizationFilter |
ssl | 请求需要通过ssl,如果不是跳转回登录页 | o.a.s.w.f.authz.SslFilter |
user | 如果访问一个已知用户,比如记住我功能,走这个过滤器 | o.a.s.w.f.authc.UserFilter |