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'服务被记住

posted @ 2016-10-25 13:28  woms  阅读(521)  评论(0编辑  收藏  举报