Shiro-第九章 JSP标签

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

 

 

导入标签库

<%@taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>  
标签库定义在shiro-web.jar包下的META-INF/shiro.tld中定义。

 

guest标签 

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

 

user标签 

  欢迎[]登录,退出     
用户已经身份验证/记住我登录后显示相应的信息。

  

authenticated标签 

      用户[]已身份验证通过     
用户已经身份验证通过,即Subject.login登录成功,不是记住我登录的。    

 

notAuthenticated标签


    未身份验证(包括记住我)
 

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

 

principal标签 

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

 

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

 

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

 

  
相当于((User)Subject.getPrincipals()).getUsername()。   

 

hasRole标签 

      用户[]拥有角色admin
     
如果当前Subject有角色将显示body体内容。

 

hasAnyRoles标签 

      用户[]拥有角色admin或user
     
如果当前Subject有任意一个角色(或的关系)将显示body体内容。 

 

lacksRole标签 

      用户[]没有角色abc
     
如果当前Subject没有角色将显示body体内容。 

  

hasPermission标签

      用户[]拥有权限user:create
     
如果当前Subject有权限将显示body体内容。 

  

lacksPermission标签

      用户[]没有权限org:create
     
如果当前Subject没有权限将显示body体内容。

 

另外又提供了几个权限控制相关的标签:

 

导入自定义标签库 

<%@taglib prefix="zhang" tagdir="/WEB-INF/tags" %>  
示例

    用户[]拥有角色admin和user



    用户[]拥有权限user:create和user:update



    用户[]拥有权限user:create或abc:update
 

 

hasAllRoles表示拥有所有相关的角色;hasAllPermissions表示拥有所有相关的权限;hasAnyPermissions表示拥有任意一个相关的权限。

如若转载,请注明出处:https://www.javaidea.cn/article/7579.html

(0)
上一篇 2022年2月7日 上午10:02
下一篇 2022年2月7日 上午10:02

相关推荐

发表评论

您的电子邮箱地址不会被公开。