shiro-常用filter
总览
org.apache.shiro.web.filter.mgt.DefaultFilter.java
|
|
身份认证相关的filter
anon
匿名filter,表示可以匿名访问的资源的filter。
比如,静态资源的配置:
|
|
authc
和form表单相关的filter,当访问需要身份认证的页面但是还没有通过身份认证会跳转到配置的登录地址。
此处的身份认证指的是已经调用过Realm的doGetAuthenticationInfo
方法。
常用属性:
- usernameParam:登录表单中的用户名对应的参数名(username)
- passwordParam:登录表单中的密码对应的参数名(password)
- rememberMeParam:”记住我”参数对应的参数名(rememberMe)
- loginUrl:登录页面的URI
- successUrl:登录成功后默认重定向到哪个地址
- failureKeyAttribute:认证失败时错误信息的键(shiroLoginFailure)
user
user这个filter和authc不同的地方是:
- authc是必须已经调用过Realm的
doGetAuthenticationInfo
方法才能通过 - user是调用过Realm的
doGetAuthenticationInfo
法或者rememberMe
就可通过
authcBasic
和BasicHttp认证相关的身份认证filter,用的并不是很多。此处略过。
logout
退出登录拦截器。
常用属性:
- redirectUrl:退出登录后重定向到哪个页面
授权相关的filter
roles
只有拥有指定role的用户才能访问对应的URL
|
|
常用属性
- loginUrl:登录URI
- unauthorizedUrl:用户权限不足时该去哪个页面
perms
只有拥有指定的permission的用户才能访问对应的URL
|
|
port
可以将请求重定向至指定的端口
常用属性
- port:指定的端口(80)
ssl
只有是HTTPS请求才能通过。若不是https请求,则自动转发至https端口(默认443)。
rest
和目前比较流行的优雅的RestAPI相关的filter。
这个filter比较流行也比较灵活。以后有时间再专门记录这方面的资料。
可以根据请求的RestURL自动拼接处权限验证的字符串。