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 PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <h4>List Page</h4> Welcome: <shiro:principal></shiro:principal> <br><br> <shiro:hasRole name="admin"> <a href="admin.jsp">Admin Page</a> <br><br> </shiro:hasRole> <shiro:hasRole name="user"> <a href="user.jsp">User Page</a> <br><br> </shiro:hasRole> <a href="shiro/logout">Logout</a> </body> </html>