我正在编写一个要求用户登录的Spring Web应用程序。我阅读了文章https://www.baeldung.com/spring-security-block-brute-force-authentication-attempts,其中描述了如何使用AuthenticationFailureListener和AuthenticationSuccessEventListener进行存储登录尝试。 我需要类似的东西,但不要使用:
public class MyUserDetailsService implements UserDetailsService {
UserDetails loadUserByUsername(String username) throws UsernameNotFoundException{
...
}
}
我需要一些入口点,可以在其中插入我的登录尝试检查,这将适用于LDAP
我的春季安全性ldap配置:
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth.ldapAuthentication()
.userDetailsContextMapper(ldapUserDetailsContextMapper)
.userDnPatterns(env.getProperty("application.ldap.user-dn-patterns"))
.groupSearchBase(env.getProperty("application.ldap.group-search-base"))
.contextSource()
.url(env.getProperty("application.ldap.url"))
.and()
.passwordCompare()
.passwordEncoder(passwordEncoder())
.passwordAttribute(env.getProperty("application.ldap.password-attribute"));
}