資料庫中經常有對資料庫賬號密碼的加密,但是碰到乙個問題,在使用userservice對密碼進行加密的時候,spring security 也是需要進行同步配置的,因為spring security 中驗證的加密方式是單獨配置的。如下:
user-service-ref="userdetailservice">
ref="passwordencoder" />
authentication-provider>
authentication-manager>
id="passwordencoder">
value="md5">
beans:constructor-arg>
beans:bean>
如上述配置檔案所示,passwordencoder才是在spring security對賬號加密校驗的地方。
spring security在攔截之後,會首先對使用者進行查詢,通過自己定義的userdetailservice來找到對應的使用者,然後由框架進行密碼的匹配驗證。
從userdetailservice得到user以後,就會進入到daoauthenticationprovider中,這是框架中定義的
然後跳入其中的authenticate方法中。
該方法會進行兩個檢查,分別是
* preauthenticationchecks : 主要進行的是對使用者是否過期等資訊的校驗,呼叫的方法在userdetail中有定義的。
* additionalauthenticationchecks : 這個就是使用者名稱密碼驗證的過程了。
而passwordencoder是我們xml中注入的bean,所以了,我們呼叫的則是我們自己完成的passwordencoder
public
class
mypasswordencoder
extends
messagedigestpasswordencoder
@override
public
boolean
ispasswordvalid(string encpass, string rawpass, object salt)
}
這是我對其實現的乙個簡單版本,呼叫的就是spring自帶的加密演算法,很簡單了,當然也可以使用複雜的加密方法,這個就靠自己了 檢視git 賬號密碼和修改git賬號密碼
檢視使用者名稱 git config user.name 檢視密碼 git config user.password 檢視配置資訊 git config list 修改使用者名稱 git config global user.name x 新的使用者名稱 修改密碼git config global ...
連線資料庫SQL並驗證賬號密碼(2)
資料庫名 驗證賬號密碼 表名 user namespace 登入 定義使用者名稱和密碼變數 string username,password 提示使用者輸入使用者名稱和密碼 console.writeline 請輸入使用者名稱 username console.readline console.wr...
git記住賬號密碼
涉及到記住密碼的方式,只適用於http s 方式,記住密碼的幾種方式 https 方式每次都要輸入密碼,按照如下設定即可輸入一次就不用再手輸入密碼的困擾而且又享受 https 帶來的極速 按照以下設定記住密碼十五分鐘 git config global credential.helper cache...