侧边栏壁纸
博主头像
张种恩的技术小栈博主等级

行动起来,活在当下

  • 累计撰写 748 篇文章
  • 累计创建 65 个标签
  • 累计收到 39 条评论

目 录CONTENT

文章目录

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

zze
zze
2018-06-19 / 0 评论 / 0 点赞 / 575 阅读 / 2872 字

不定期更新相关视频,抖音点击左上角加号后扫一扫右方侧边栏二维码关注我~正在更新《Shell其实很简单》系列

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>
0

评论区