shiro AuthenticationToken體系
如上圖,為AuthenticationToken的繼承體系,AuthenticationToken是在shiro進行身份驗證時不可或缺的一部分,在驗證是用戶的身份(如:用戶名)及憑證(如密碼)過程中,都是從該AuthenticationToken獲取的。
AuthenticationToken
//AuthenticationToken用於收集用戶提交的身份(如用戶名)及憑據(如密碼):
public interface AuthenticationToken extends Serializable {
/**
* 返回身份信息,相當於用戶的用戶名
*/
Object getPrincipal();
/**
* 返回用戶憑證信息,相當於用戶的用戶密碼
*/
Object getCredentials();
RememberMeAuthenticationToken:RememberMeAuthenticationToken在AuthenticationToken的基礎上添加了記住我的功能
HostAuthenticationToken:在AuthenticationToken基礎上添加了獲取用戶主機的功能
UsernamePasswordToken:shiro認證中最常用的一種,里面封裝了用戶的用戶名,密碼,用戶主機,是否記住我的功能
BearerToken:里面封裝了一個字符串token,該字符串token為用戶的一些不敏感信息經過加密之后生成的,可以通過一定的規則解密來獲取用戶的信息,主要在web應用中結合自定義Realm使用,用於前后端分離,將字符串token放到header中傳給系統進行驗證。