对于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
从安全的角度来看并不重要。谁说所有的用户都很乐意,那些不满的员工呢。我可以想象,您可能希望在日志中记录这些信息,但您希望能够像外部世界那样通用 –