對於Spring Boot中的Spring安全性設置。 LDAP身份驗證提供程序默認配置爲使用BindAuthenticator類。如何在Spring Boot中對BindAuthenticator的handleBindException進行Spring LDAP身份驗證設置
該類包含方法
/**
* Allows subclasses to inspect the exception thrown by an attempt to bind with a
* particular DN. The default implementation just reports the failure to the debug
* logger.
*/
protected void handleBindException(String userDn, String username, Throwable cause) {
if (logger.isDebugEnabled()) {
logger.debug("Failed to bind as " + userDn + ": " + cause);
}
}
這種方法來處理身份驗證有關的異常像無效憑證。
我想重載這個方法,所以我可以處理這個問題並根據LDAP返回的錯誤代碼返回適當的錯誤信息。如無效的密碼或帳戶被鎖定。
當前的LDAP實現總是返回「Bad Credentials」,但沒有給出正確的圖片說明爲什麼我的憑證無效。我想覆蓋的情況下
- 在帳戶被鎖定
- 密碼已過期,所以我可以重定向到更改密碼
- 帳戶鎖定因無效密碼重試次數
請幫助
是否應該......你真的想把它還給你的最終用戶嗎?從安全的角度來看,禹不想公開這些信息。如果一個賬戶被鎖定,黑客現在知道它有一個有效的用戶名。同樣的,你告訴他密碼錯誤或者用戶名不存在。 –
@Denium我建立這個內部應用程序只有工作人員可以訪問到內部網。所以這是我的產品所有者的期望:) – Ahsan
從安全的角度來看並不重要。誰說所有的用戶都很樂意,那些不滿的員工呢。我可以想象,您可能希望在日誌中記錄這些信息,但您希望能夠像外部世界那樣通用 –