基于标签库的授权:guest
guest 标签将显示它包含的内容,仅当当前的Subject 被认为是 guest 时。
guest 是指没有身份 ID 的任何 Subject:没有登录也没有在上一次的访问中被记住(RememberMe 服务)
guest 标签与user 标签逻辑相反。
例子:
Hi there! Please Login or Signuptoday!
基于标签库的授权:user
user 标签将显示它包含的内容,仅当当前的 Subject 被认为是 user 时。
User 在上下文中被定义为一个已知身份 ID 的 Subject,或是成功通过身份验证及通过 RememberMe 服务的。
该标签在语义上与authenticated 标签是不同的,authenticated 标签更为严格。
usre 标签与guest 标签逻辑相反。
基于标签库的授权
1、authenticated:当当前用户在当前会话中成功地通过了身份验证 authenticated 标签才会显示包含的内容。比 user 标签更为严格。在逻辑上与 notAuthenticated 标签相反。
2、notAuthenticated:当前 Subject 还没有在其当前会话中成功地通过验证,将会显示它所包含的内容
3、principal 标签将会输出Subject 的主体(标识属性)或主要的属性
4、hasRole 当当前Subject 被分配了具体的角色时显示它所包含的内容。hasRole 标签与lacksRole 标签逻辑相反。 例如:
<shiro:hasRole name="administrator">
<a href="admin.jsp">Administer the system</a>
</shiro:hasRole>
5、lacksRole 标签:当当前Subject 未被分配具体的角色,显示它所包含的内容
6、hasAnyRole 标签:当前的 Subject 被分配了任意一个来自于逗号分隔的角色名列表中的具体角色,将会显示它所包含的内容。例如:
<shiro:hasAnyRoles name="developer, project manager, administrator">
You are either a developer, project manager, or administrater.
</shiro:hasAnyRoles>
7、hasPermission 标签:当前 Subject 拥有特定的权限时,会显示它所包含的内容。hasPermission 标签与 lacksPermission 标签逻辑相反。例如:
<shiro:hasPermission name="user:create">
<a href="createUser.jsp">Create a new User</a>
</shiro:hasPermission>
8、lacksPermission 标签:当前Subject 没有拥有(蕴含)特定的权限,将会显示它所包含的内容。也就是说,用户没有特定的能力。
密码加密