shiro 之 Shiro 标签

素颜马尾好姑娘i 2022-06-06 14:23 378阅读 0赞

shiro 之 Shiro 标签

本节我们将学习一下Shiro 的标签。


Shiro 提供了 JSTL 标签用于在 JSP 页面进行权限控制,如根据登录用户显示相应的页面按钮。在使用Shiro 的标签之前我们需要引入Shiro Tag:

  1. <%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags"%>
  • guest 标签:用户没有身份验证时显示相应信息,即游客访问信息:

    1. <shiro:guest>
    2. 这是一个游客可以访问的链接<a href="<%=basePath%>/login/toLogin"></a>
    3. </shiro:guest>

  • user 标签:用户已经经过认证/记住我登录后显示相应的信息。

    1. <shiro:user>
    2. 欢迎[<shiro:principal />] 登录,<a href="<%=basePath%>/login/logout">Logout</a>
    3. </shiro:user>

  • authenticated 标签:用户已经身份验证通过,即Subject.login登录成功,不是记住我登录的

    1. <shiro:authenticated>
    2. 用户[<shiro:principal/>]已经通过身份认证
    3. </shiro:authenticated>

  • notAuthenticated 标签:用户未进行身份验证,即没有调用Subject.login进行登录,包括记住我自动登录的也属于未进行身份验证。

    1. <shiro:notAuthenticated>
    2. 未做身份验证时的显示
    3. </shiro:notAuthenticated>

  • pincipal 标签:显示用户身份信息,默认调用Subject.getPrincipal() 获取,即 Primary Principal。

    1. 欢迎<shiro:principal/>登录!

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

    1. <shiro:hasRole name="admin">
    2. 用户[<shiro:principal/>] 拥有 admin 角色权限!
    3. </shiro:hasRole>

  • hasAnyRoles 标签:如果当前Subject有任意一个角色(或的关系)将显示body体内容。

    1. <shiro:hasAnyRoles name="admin,manager">
    2. 用户[<shiro:principal/>] 拥有 admin 或者 manager 角色 权限!
    3. </shiro:hasAnyRoles>

  • lacksRole 标签:如果当前 Subject 没有角色将显示 body 体内容

    1. <shiro:lacksRole name="manager">
    2. 用户[<shiro:principal/>] 没有拥有manager角色权限!
    3. </shiro:lacksRole>

  • hasPermission 标签:如果当前 Subject 有权限将显示 body 体内容

    1. <shiro:hasPermission name="admin:view:*">
    2. 用户[<shiro:principal/>] 拥有 admin:view:* 权限!
    3. </shiro:hasPermission>

  • lacksPermission 标签:如果当前Subject没有权限将显示body体内容。

    1. <shiro:lacksPermission name="admin:delete:*">
    2. 用户[<shiro:principal/>] 没有 admin:delete:* 权限!
    3. </shiro:lacksPermission>

小结

  • 使用 SHiro 标签时要先引入 Shiro Tags
  • 一般 Shiro 标签结合各种方式的认证和授权一起使用会更能满足我们的需求。

发表评论

表情:
评论列表 (有 0 条评论,378人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Shiro标签

    hiro 提供了 JSTL 标签用于在 JSP 页面进行权限控制,如根据登录用户显示相应的页面按钮。 注意:在使用shiro标签时,应该首先在jsp页面添加shiro库...

    相关 shiro-标签

      Shiro提供了JSTL标签用于JSP页面进行权限控制,如:根据用户显示相应的页面按钮。 引入shiro-JSTL标签: <%@ taglib prefix="

    相关 Shiro标签

    Shiro提供了JSTL 标签用于在JSP 页面进行权限控制,如根据登录用户显示相应的页面按钮。 guest 标签:用户没有身份验证时显示相应信息,即游客访问信息: