版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012525096/article/details/82692193
标签
guest标签
用户没有身份验证时显示相应信息,即游客访问信息。
user标签
用户已经经过认证/记住我登录后显示相应的信息。
authenticated标签
用户已经身份验证通过,即Subject.login(token)
登录成功,不是记住我登录的。
notAuthenticated标签
用户未进行身份验证,即没有调用Subject.login(token)
进行登录,包括记住我自动登录的也属于未进行身份验证的。
pincipal标签
显示用户身份信息,默认调用Subject.getPrincipal()
获取,即Primary Procipal。
hasRole标签
如果当前Subject有角色,将显示body体内容。
hasAnyRoles标签
如果当前Subject有任意一个角色(或的关系)
lacksRole标签
如果当前Subject没有角色将显示body体内容。
hasPermission标签
如果当前Subject有权限,将显示body体内容。
lacksPermission标签
如果当前Subject没有权限,将显示body体内容。
测试标签
目前共有两个用户,admin和user。
登录成功的页面list.jsp更改如下:
<body>
<h4>List Page!</h4>
Welcome:
<shiro:principal></shiro:principal>
<shiro:hasRole name="admin">
<br></br>
<a href="admin.jsp">Admin Page</a>
</shiro:hasRole>
<shiro:hasRole name="user">
<br></br>
<a href="user.jsp">User Page</a>
</shiro:hasRole>
<br></br>
<a href="shiro/logout">Logout</a>
</body>
其中使用hasRole
去判断是否有该角色,若有则显示下面的body体内容。
场景
Shiro标签通常使用在动态的在页面显示不同用户的操作目录。