shiro:10个过滤器;10个jsp标签;5个@注解
10个过滤器
过滤器简称 |
对应的java类 |
anon |
org.apache.shiro.web.filter.authc.AnonymousFilter |
authc |
org.apache.shiro.web.filter.authc.FormAuthenticationFilter |
authcBasic |
org.apache.shiro.web.filter.authc.BasicHttpAuthenticationFilter |
perms |
org.apache.shiro.web.filter.authz.PermissionsAuthorizationFilter |
port |
org.apache.shiro.web.filter.authz.PortFilter |
rest |
org.apache.shiro.web.filter.authz.HttpMethodPermissionFilter |
roles |
org.apache.shiro.web.filter.authz.RolesAuthorizationFilter |
ssl |
org.apache.shiro.web.filter.authz.SslFilter |
user |
org.apache.shiro.web.filter.authc.UserFilter |
logout |
org.apache.shiro.web.filter.authc.LogoutFilter |
10个jsp标签
标签名称 |
标签条件(均是显示标签内容) |
<shiro:authenticated> |
登录之后 |
<shiro:notAuthenticated> |
不在登录状态时 |
<shiro:guest> |
用户在没有RememberMe时 |
<shiro:user> |
用户在RememberMe时 |
<shiro:hasAnyRoles name="abc,123" > |
在有abc或者123角色时 |
<shiro:hasRole name="abc"> |
拥有角色abc |
<shiro:lacksRole name="abc"> |
没有角色abc |
<shiro:hasPermission name="abc"> |
拥有权限资源abc |
<shiro:lacksPermission name="abc"> |
没有abc权限资源 |
<shiro:principal> |
默认显示用户名称 |
5个@注解
注解 |
功能 |
@RequiresAuthentication |
RequiresAuthentication 注解要求当前Subject 已经在当前的session 中被验证通过才能被注解的类/实例/方法访问或调用 |
@RequiresGuest |
RequiresGuest 注解要求当前的Subject 是一个"guest",也就是说,他们必须是在之前的session 中没有被验证或记住才能被注解的类/实例/方法访问或调用 |
@RequiresPermissions("account:create") |
RequiresPermissions 注解要求当前的Subject 被允许一个或多个权限,以便执行注解的方法如果他们没有,则该方法将不会被执行,而且AuthorizationException 异常将会被抛出 |
@RequiresRoles("administrator") |
RequiresRoles 注解要求当前的Subject 拥有所有指定的角色。如果他们没有,则该方法将不会被执行,而且AuthorizationException 异常将会被抛出 |
@RequiresUser |
RequiresUser 注解需要当前的Subject 是一个应用程序用户才能被注解的类/实例/方法访问或调用。一个“应用程序用户”被定义为一个拥有已知身份,或在当前session 中由于通过验证被确认,或者在之前session 中的'RememberMe'服务被记住 |