我如何为一个项目编写测试 ldap
中的安全配置 spring-boot
?
身份验证管理器首先验证ldap中是否存在用户首字母缩写,以及找到的用户是否为 memberOf
为用户筛选器设置的任何组。
问题:我怎么能模拟ldap响应呢?例如,我想返回一个用户 memberOf=CN=Team-INVALID
这不应该是测试范围内的身份验证。我想返回一个与 userSearchFilter
当然
但是这次考试我必须模仿哪个班级呢?
@Configuration
@Order(1)
@EnableWebSecurity
public class LdapSecurityConfiguration extends WebSecurityConfigurerAdapter {
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.ldapAuthentication()
.userSearchFilter("(&(initials={0})(|" +
"(memberOf=CN=TEAM-1,OU=Intern,DC=my-company)" +
"(memberOf=CN=TEAM-2,OU=Intern,DC=my-company)" +
"))")
.contextSource()
.url(ldapUrl + ldapBase)
.managerDn(ldapUsername)
.managerPassword(ldapPassword);
}
}
1条答案
按热度按时间6yjfywim1#
您可以使用ldif文件为测试定义嵌入式ldap服务器,如下所示:
在测试中,您可以尝试像在正常流中一样对特定用户进行身份验证:
我在ldap认证指南中找到了这个示例。你可以参考它了解更多细节
所需依赖项: