Shiro笔记(五)JSP标签

时间:2022-04-04 19:29:00

Shiro笔记(五)JSP标签

导入标签库

 <%@taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>

guest标签

用户没有身份验证时显示相应的信息

 <shiro:guest>
欢迎游客访问,<a href="${pageContext.request.contextPath}/login.jsp">登录</a>
</shiro:guest>

user标签

用户已经进行了身份验证或者记住我后显示相应的信息

 <shiro:user>
欢迎[<shiro:principal/>]登录,<a href="${pageContext.request.contextPath}/logout">退出</a>
</shiro:user>

authenticated标签

用户已经进行身份验证,但不是记住我时,显示相应信息

 <shiro:authenticated>
用户[<shiro:principal/>]已身份验证通过
</shiro:authenticated>

notAuthentication

<shiro:notAuthenticated>
未身份验证(包括记住我)
</shiro:notAuthenticated>

包括记住我有效时,也属于这种情况。

principal标签

 <shiro: principal/>

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

 <shiro:principal type="java.lang.String"/>

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

 <shiro:principal property="username"/>

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

hasRole标签

 <shiro:hasRole name="admin">
用户[<shiro:principal/>]拥有角色 admin<br/>
</shiro:hasRole>

hasAnyRoles标签

 <shiro:hasAnyRoles name="admin,user">
用户[<shiro:principal/>]拥有角色 admin 或 user<br/>
</shiro:hasAnyRoles>

lacksRole标签

 <shiro:lacksRole name="abc">
用户[<shiro:principal/>]没有角色 abc<br/>
</shiro:lacksRole>

hasPermission 标签

 <shiro:hasPermission name="user:create">
用户[<shiro:principal/>]拥有权限 user:create<br/>
</shiro:hasPermission>

lacksPermission 标签

 <shiro:lacksPermission name="org:create">
用户[<shiro:principal/>]没有权限 org:create<br/>
</shiro:lacksPermission>