shiro認證
自定義的Realm在進行shiro認證時,只判斷了密碼有沒有而沒有判斷對不對,自定義Realm就返回SimpleAuthenticationInfo對象,請問是在 subject.isAuthenticated()方法中進行驗證login的密碼和返回密碼是否一致嘛?
加鹽加密時login傳遞的是明文,返回的是加鹽加密后的,請問在驗證時時自動將login的密碼加鹽加密碼
自定義的Realm在進行shiro認證時,只判斷了密碼有沒有而沒有判斷對不對,自定義Realm就返回SimpleAuthenticationInfo對象,請問是在 subject.isAuthenticated()方法中進行驗證login的密碼和返回密碼是否一致嘛?
加鹽加密時login傳遞的是明文,返回的是加鹽加密后的,請問在驗證時時自動將login的密碼加鹽加密碼
2018-12-03
舉報
2018-12-21
String password = getPasswordByUsername(username);通過這個去獲取的密碼,如果密碼沒有找到是直接 return null,不為空才創(chuàng)建SimpleAuthenticationInfo返回對象的,這個是在創(chuàng)建對象之前的,這里用的是map一個定值,也可以是數(shù)據(jù)庫或者緩存中去查找密碼。
login傳遞的是明文,但是通過
//加密
HashedCredentialsMatcher matcher = new HashedCredentialsMatcher();
matcher.setHashAlgorithmName("md5");//加密算法
matcher.setHashIterations(1);//加密次數(shù)
customrealm.setCredentialsMatcher(matcher);
在提交認證請求前直接進行了加密,他直接和map中的數(shù)據(jù)進行的匹配,這個是你手動加鹽加密的,login認證只是判斷你傳過來的參數(shù),在你手動加鹽加密后是否和map中或者數(shù)據(jù)庫緩存中 的值一樣。