1.首先是導入標簽庫
<%@taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
1.1 hasrole 標簽
<shiro:hasRole name="admin">
用戶[<shiro:principal/>]擁有角色admin<br/>
</shiro:hasRole>
1.2 hasPermission標簽
<shiro:hasPermission name="user:create">
用戶[<shiro:principal/>]擁有權限user:create<br/>
</shiro:hasPermission>
進行測試
先使用jack登錄 因為jack沒有user的權限 登錄后觀察一下效果
然后在使用 zuoyan這個賬號登錄,zuoyan的角色是admin 所以擁有對user:* 的所有操作權限
展示一下 success.jsp的頁面源碼
這樣就成功的使用了 shiro的jsp標簽
同理進行測試hasrole
先使用jack 123登錄,因為沒有管理員權限,正常應該不會顯示
查看一下效果
在使用zuoyan登錄一下查看效果
這個權限正確!
(個人感覺這個shiro jsp標簽挺有用的 可以進行權限認證,在網站的后台可以用這個控制 不同的管理員)
最后展示一下 pom.xml文件需要的jar包
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.zuoyan.shiro</groupId> <artifactId>ShiroWeb</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>ShiroWeb Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <!-- 添加servlet支持 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>javax.servlet.jsp-api</artifactId> <version>2.3.1</version> </dependency> <!-- 添加jstl支持 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <!-- 添加日志支持 --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version> </dependency> <!-- 添加shiro支持 --> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>1.2.4</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-web</artifactId> <version>1.2.4</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.12</version> </dependency> </dependencies> <build> <finalName>ShiroWeb</finalName> </build> </project>