本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名原文链接~~~

安全/权限框架Shiro(11)之Shiro标签

微信搜索 zze_coding 或扫描 👉 二维码关注我的微信公众号获取更多资源推送:


Shiro 提供了 JSTL 标签库用于 Jsp 页面进行权限控制,如根据登录用户的角色对应的权限显示相应的页面按钮。只需在 Jsp 中引入下面标签库即可使用:

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

常用标签如下:

shiro:guest

用户没有身份验证时显示相应信息,即游客访问信息。

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

shiro:user

用户已经经过认证或通过“记住我”登录后显示相应的信息。

<shiro:user>
欢迎[<shiro:principal/>]访问,<a href='/logout'>退出</a>
</shiro:user>

shiro:authenticated

用户已经身份验证通过,即通过 Subject.login 方法登录成功,非记住我登录。

<shiro:authenticated>
    用户[<shiro:principal/>]身份验证已通过
</shiro:authenticated>

shiro:notAuthenticated

用户未进行身份验证,即没有通过 Subject.login 进行登录,包括通过“记住我”自动登录的也属于未进行身份验证。

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

shiro:principal

显示用户身份信息,默认调用 Subject.getPrincipal 方法获取,即 Primary Principal

<shiro:principal property="username"/>

shiro:hasRole

如果当前 Subject 有指定角色将显示标签内的内容。

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

shiro:hasAnyRoles

如果当前 Subject 有任意一个角色,则显示标签内内容。

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

shiro:lacksRole

如果当前 Subject 没有指定角色将显示标签内内容。

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

shiro:hasPermission

如果当前 Subject 有指定权限将显示标签内内容。

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

shiro:acksPermission

如果当前 Subject 没有指定权限将显示标签内内容。

<shiro:lacksPermission name="org:create">
    用户[<shiro:principal/>]没有权限 org:create
</shiro:lacksPermission>
# Shiro  

如果这篇文章对您有帮助,可点击下方链接分享给你的朋友们😋,如果遇到问题欢迎评论、留言~~~😇

评论

公众号:zze_coding

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×