1. 核心依赖
<!--jstl shiro标签库-->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
2. 引入标签
<%@ taglib prefix="shiro" uri="[http://shiro.apache.org/tags](http://shiro.apache.org/tags)" %>
3. 标签
-
guest 用户没有身份验证时显示相应信息,即游客访问信息
-
user 用户已经身份验证/记住我登录后显示相应的信息
-
authenticated 用户已经身份验证通过,即Subject.login登录成功,不是记住我登录的。
-
notAuthenticated 用户已经身份验证通过,即没有调用Subject.login进行登录,包括记住我,自动登录的也属于未进行身份验证。
-
principal 相当于((User)Subject.getPrincipals()).getUsername()。
-
hasRole标签 如果当前Subject有角色将显示body体内容。
-
lacksRole 如果当前Subject没有角色将显示body体内容。
-
hasAnyRoles 如果当前Subject有任意一个角色(或的关系)将显示body体内容。
-
hasPermission 如果当前Subject有权限将显示body体内容
-
lacksPermission 如果当前Subject没有权限将显示body体内容。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<html>
<head>
<title>Title</title>
</head>
<body>
登录成功页面
<%--只有未登录的用户(游客)能看到--%>
<shiro:guest>你还未登陆</shiro:guest>
<%----%>
<shiro:authenticated>authenticated 看到的内容</shiro:authenticated>
<shiro:notAuthenticated>notAuthenticated 看到的内容</shiro:notAuthenticated>
<%--显示登陆人的用户名--%>
<shiro:principal></shiro:principal>
<shiro:hasRole name="vip">vip 角色看到的内容</shiro:hasRole>
<shiro:hasRole name="admin">admin 角色看到的内容</shiro:hasRole>
<%--lacks Role 只能写一个--%>
<shiro:lacksRole name="vip">没有admin 角色看到的内容</shiro:lacksRole>
<shiro:hasAnyRoles name="user,vip,admin">有user,vip,admin中任一角色可以看到的内容</shiro:hasAnyRoles>
<shiro:hasPermission name="add">有add权限看到的内容</shiro:hasPermission>
</body>
</html>