5.1 guest
用户没有身份验证时显示相应信息,即游客访问信息。
<shiro:guest>
欢迎游客访问,<a href=
"${pageContext.request.contextPath}/login.jsp"
>登录</a>
</shiro:guest>
5.2 user
用户已经身份验证/记住我登录后显示相应的信息
<shiro:user>
欢迎[<shiro:principal/>]登录,<a href=
"${pageContext.request.contextPath}/logout"
>退出</a>
</shiro:user>
5.3 authenticated
用户已经身份验证通过,即Subject.login登录成功,不是记住我登录的。
<shiro:authenticated> 用户[<shiro:principal/>]已身份验证通过 </shiro:authenticated>
5.4 notAuthenticated
用户已经身份未验证通过,即没有调用Subject.login进行登录,包括记住我自动登录的也属于未进行身份验证
<shiro:notAuthenticated> 未身份验证(包括记住我)</shiro:notAuthenticated>
5.5 principal
显示用户身份信息,默认调用Subject.getPrincipal()获取,即Primary Principal。
<shiro: principal/>
Java代码
- <shiro:principal type= "java.lang.String" />
相当于Subject.getPrincipals().oneByType(String.class)。
Java代码
- <shiro:principal type= "java.lang.String" />
相当于Subject.getPrincipals().oneByType(String.class)。
Java代码
- <shiro:principal property= "username" />
相当于((User)Subject.getPrincipals()).getUsername()。
5.6 hasRole
如果当前Subject有角色将显示body体内容。
<shiro:hasRole name=
"admin"
>
用户[<shiro:principal/>]拥有角色admin<br/>
</shiro:hasRole>
5.7 lacksRole
如果当前Subject没有角色将显示body体内容。
<shiro:lacksRole name=
"abc"
>
用户[<shiro:principal/>]没有角色abc<br/>
</shiro:lacksRole>
5.8 hasAnyRoles
如果当前Subject有任意一个角色(或的关系)将显示body体内容。
<shiro:hasAnyRoles name=
"admin,user"
>
用户[<shiro:principal/>]拥有角色admin或user<br/>
</shiro:hasAnyRoles>
5.9 hasAllRoles
如果当前Subject有所有角色将显示body体内容。
<shiro:hasAllRoles name="admin,user"> 用户[<shiro:principal/>]拥有角色admin和user<br/> </shiro:hasAllRoles>
5.10 hasPermission
如果当前Subject有权限将显示body体内容。
<shiro:hasPermission name=
"user:create"
>
用户[<shiro:principal/>]拥有权限user:create<br/>
</shiro:hasPermission>
5.11 lacksPermission
如果当前Subject没有权限将显示body体内容。
<shiro:lacksPermission name=
"org:create"
>
用户[<shiro:principal/>]没有权限org:create<br/>
</shiro:lacksPermission>
5.12 hasAnyPermissions
如果当前Subject有任意一个权限将显示body体内容。
<shiro:hasAnyPermissions name="user:create,abc:update"> 用户[<shiro:principal/>]拥有权限user:create或abc:update<br/> </shiro:hasAnyPermissions>
5.13 hasAllPermissions
如果当前Subject有所有权限将显示body体内容。
<shiro:hasAllPermissions name="user:create,user:update"> 用户[<shiro:principal/>]拥有权限user:create和user:update<br/> </shiro:hasAllPermissions>