我有一个映射到LDAP用户名的用户名表。我想做的是在数据库中有一个用户列表或仅包含用户名,并且只允许列表中的用户针对LDAP服务器进行身份验证。我希望能够针对LDAP服务器进行身份验证,但仅允许数据库中已启用并能够登录的那些用户名。我已经能够成功设置spring安全核心和LDAP,以便用户可以登录。如何仅验证使用Spring Security在数据库中启用以登录grails应用程序的用户?
最佳答案
您需要子类化Spring Security的LdapAuthenticationProvider。如果请求的登录名对ldap auth无效(又不在您的表中),则覆盖它返回null
的authenticate方法。
下一步是按照Spring Security Core plugin docs中所述,将新的自定义AuthenticationProvider类添加到providerlist。
关于security - Grails Spring Security LDAP插件:使用LDAP进行身份验证,但仅允许存储在数据库中的用户登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5499314/