shiro-标签

  Shiro提供了JSTL标签用于JSP页面进行权限控制,如:根据用户显示相应的页面按钮。

引入shiro-JSTL标签:

<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>

1. guest标签:用户没有身份验证时显示相应信息,即:游客访问。

<shiro:guest>
    欢迎游客访问,<a href="login.jsp">登录</a>
</shiro:guest>

2. user标签:用户已经登录/记住我登录后,显示相应的信息:

<shiro:user>
    欢迎[<shiro:principal/>]登录,<a href="logout">退出</a>
</shiro:user>

3. notAuthenticated标签:用户为进行身份验证,即没有调用Subject.login进行登录,暴扣记住我自动登录也属于为进行身份验证:

<shiro:notAuthenticated>
    未进行身份验证(包括记住我)
</shiro:notAuthenticated>

4. pincipal标签:显示用户身份信息(用户ID),默认调用Subject.getPrincipal()获取:

<shiro:principal property="username" />

5. hasRole标签:如果当前Subject有角色将显示body体内容:

<shiro:hasAnyRoles name="admin">
    用户<shiro:principal />拥有角色admin
</shiro:hasAnyRoles>

6. hasAnyRoles标签:如果当前的Subject有任意一个角色(或的关系),将显示boby题内容:

<shiro:hasAnyRoles name="admin,user">
    用户<shiro:principal />拥有角色admin或user
</shiro:hasAnyRoles>

7. lacksRole:如果当前的Subject没有角色将显示body体内容:

<shiro:lacksRole name="admin">
    用户<shiro:principal />没有角色admin
</shiro:lacksRole>

8. hasPermission:如果当前Subject有权限将显示body体内容:

<shiro:hasPermission name="user:create">
    用户<shiro:principal />拥有user:create权限
</shiro:hasPermission>

9. lacksPermission:如果当前Subject没有权限将显示body体内容:

<shiro:lacksPermission name="org:create">
    用户<shiro:principal />没有org:create权限
</shiro:lacksPermission>
原文地址:https://www.cnblogs.com/luliang888/p/11173613.html