分享牛系列,分享牛專欄,分享牛。shiro認證分析,shiro認證原理分析。
jdk版本:1.7.0_72
eclipse:elipse-indigo
通過Shiro.ini配置檔案初始化SecurityManager環境。
在eclipse配置後,在classpath建立shiro.ini配置檔案,為了友善測試将使用者名和密碼配置的shiro.ini配置檔案中:
1、 建立token令牌,token中有使用者送出的認證資訊即賬号和密碼
2、 執行subject.login(token),最終由securityManager通過Authenticator進行認證
3、 Authenticator的實作ModularRealmAuthenticator調用realm從ini配置檔案取使用者真實的賬号和密碼,這裡使用的是IniRealm(shiro自帶)
4、 IniRealm先根據token中的賬号去ini中找該賬号,如果找不到則給ModularRealmAuthenticator傳回null,如果找到則比對密碼,比對密碼成功則認證通過。
UnknownAccountException
賬号不存在異常如下:
org.apache.shiro.authc.UnknownAccountException: No account found for user。。。。
IncorrectCredentialsException
當輸入密碼錯誤會抛此異常,如下:
org.apache.shiro.authc.IncorrectCredentialsException: Submitted credentials for token [org.apache.shiro.authc.UsernamePasswordToken - zhangsan, rememberMe=false] did not match the expected credentials.
更多如下:
DisabledAccountException(帳号被禁用)
LockedAccountException(帳号被鎖定)
ExcessiveAttemptsException(登入失敗次數過多)
ExpiredCredentialsException(憑證過期)等
分享牛原創(尊重原創 轉載對的時候第一行請注明,轉載出處來自分享牛http://blog.csdn.net/qq_30739519) java架構師交流群 523988350