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>