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代码

  1. <shiro:principal type= "java.lang.String" />

相当于Subject.getPrincipals().oneByType(String.class)。

Java代码

  1. <shiro:principal type= "java.lang.String" />

相当于Subject.getPrincipals().oneByType(String.class)。

Java代码

  1. <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>