天天看點

shiro認證1 shiro認證

分享牛系列,分享牛專欄,分享牛。shiro認證分析,shiro認證原理分析。

shiro認證1 shiro認證

jdk版本:1.7.0_72

eclipse:elipse-indigo

shiro認證1 shiro認證

通過Shiro.ini配置檔案初始化SecurityManager環境。

shiro認證1 shiro認證

在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

繼續閱讀