shiro标签
- Shiro提供了JSTL 标签用于在JSP 页面进行权限控制,如根据登录用户显示相应的页面按钮。
- guest 标签:用户没有身份验证时显示相应信息,即游客访问信息:
-
- user 标签:用户已经经过认证/记住我登录后显示相应的信息。
-
- authenticated 标签:用户已经身份验证通过,即Subject.login登录成功,不是记住我登录的
- notAuthenticated标签:用户未进行身份验证,即没有调用Subject.login进行登录,包括记住我自动登录的也属于未进行身份验证。
-
- pincipal标签:显示用户身份信息,默认调用Subject.getPrincipal() 获取,即Primary Principal。
-
- hasRole标签:如果当前Subject 有角色将显示body 体内容:
-
- hasAnyRoles标签:如果当前Subject有任意一个角色(或的关系)将显示body体内容。
-
- lacksRole:如果当前Subject 没有角色将显示body 体内容
-
- hasPermission:如果当前Subject 有权限将显示body 体内容
-
- lacksPermission:如果当前Subject没有权限将显示body体内容。
-
-
实例:
-
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Insert title here</title> </head> <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> </html>