Active directory Sonar 4.1.1和LDAP 1.4配置
Active directory Sonar 4.1.1和LDAP 1.4配置,active-directory,ldap,sonarqube,Active Directory,Ldap,Sonarqube,我正在尝试用windows Active directory配置声纳。我得到下面的错误
错误[rails]来自外部用户提供商的错误:无法在中检索用户xxx.xxx的详细信息
以下配置在sonar.property文件中完成
# LDAP configuration
# General Configuration
sonar.security.realm=LDAP
ldap.authentication: simple
sonar.security.savePassword=true
sonar.
我正在尝试用windows Active directory配置声纳。我得到下面的错误
错误[rails]来自外部用户提供商的错误:无法在中检索用户xxx.xxx的详细信息
以下配置在sonar.property文件中完成
# LDAP configuration
# General Configuration
sonar.security.realm=LDAP
ldap.authentication: simple
sonar.security.savePassword=true
sonar.authenticator.createUsers=true
ldap.url=ldap://xxxx.group.root.ad
# User Configuration
ldap.user.baseDn=OU=Users,OU=Customs,OU=Group,dc=group,dc=root,dc=ad
ldap.user.request=(&(objectClass=inetOrgPerson)(uid={login}))
ldap.user.realNameAttribute=cn
ldap.user.emailAttribute=mail
# Group Configuration
ldap.group.baseDn=OU=Customs,OU=Group,dc=group,dc=root,dc=ad
#ldap.group.request=(&(objectClass=posixGroup)(memberUid={uid}))
ldap.group.request=((objectClass=group)(member={dn}))
任何人都有办法解决声纳的问题
问候
阿伦。我刚刚在Sonar 5.1.1中遇到了类似的错误。我是这样解决的:
基本DN不适用于AD服务器。这对我很有用:
ldap.user.request=(&(objectClass=user)(sAMAccountName={login}))
对AD服务器的匿名身份验证显然不适用于Sonar的LDAP插件(该假设将针对AD服务器的匿名身份验证指定为“未测试”)。您需要指定绑定DN(此处表示用户)以连接AD服务器:
ldap.bindDn=<user>@<domain>
ldap.bindPassword=secret
ldap.bindDn=@
ldap.bindPassword=secret
我在SonarQube 5.6(LTS)上的LDAP 2.1也有类似的问题
tl'dr
这种ldap.user.request格式适合我-
ldap.user.request=(uid={login})
如果你还在读
以下是一些帮助我解决问题的方法
声纳日志:
打开调试并查找正在生成的实际ldap搜索查询和ldap上下文
2017.03.14 00:35:04调试web[o.s.p.l.LdapSearch]搜索:LdapSearch{baseDn=dc=test,dc=com,scope=subtree,request=(&(objectClass=inetOrgPerson)(uid={0})),参数=[harvey],属性=[mail,cn]}
2017.03.14 00:35:04调试web[o.s.p.l.LdapContextFactory]初始化LDAP上下文{java.naming.provider.url=ldap://ldap.test.com,java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory,java.naming.security.principal=uid=user,ou=People,dc=test,dc=com,com.sun.jndi.ldap.connect.pool=true,java.naming.security.authentication=simple,java.naming.reference=follow}
ldapsearch:
使用日志中的相同参数运行“失效搜索”命令(步骤#1)
$ldapsearch-x-L-D“uid=user,ou=People,dc=test,dc=com”-w“pass”-b“ou=People,dc=test,dc=com”“(uid=harvey)”邮件cn
声纳属性-
下面是我的工作LDAP配置
#一般配置
sonar.security.realm=LDAP
ldap.url=ldaps://ldap.test.com
ldap.bindDn=uid=user,ou=People,dc=test,dc=com
ldap.bindPassword=pass
#用户配置
ldap.user.baseDn=ou=People,dc=test,dc=com
ldap.user.request=(uid={login})
ldap.user.realNameAttribute=cn
ldap.user.emailAttribute=mail
#组配置
ldap.group.baseDn=ou=group,dc=test,dc=com
ldap.group.request=(&(objectClass=posixGroup)(memberUid={uid}))
ldap.user.request和ldap.group.request
从步骤#1中,您可以了解在您的案例中查询筛选器参数的正确格式以及bindDn(-D)和baseDn(-b)的值
希望这有帮助()
谢谢!可能的副本
2017.03.14 00:35:04 DEBUG web[o.s.p.l.LdapSearch] Search: LdapSearch{baseDn=dc=test,dc=com, scope=subtree, request=(&(objectClass=inetOrgPerson)(uid={0})), parameters=[harvey], attributes=[mail, cn]}
2017.03.14 00:35:04 DEBUG web[o.s.p.l.LdapContextFactory] Initializing LDAP context {java.naming.provider.url=ldap://ldap.test.com, java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory, java.naming.security.principal=uid=user,ou=People,dc=test,dc=com, com.sun.jndi.ldap.connect.pool=true, java.naming.security.authentication=simple, java.naming.referral=follow}
$ldapsearch -x -L -D"uid=user,ou=People,dc=test,dc=com" -w"pass" -b"ou=People,dc=test,dc=com" "(uid=harvey)" mail cn
#General Configuration
sonar.security.realm=LDAP
ldap.url=ldaps://ldap.test.com
ldap.bindDn=uid=user,ou=People,dc=test,dc=com
ldap.bindPassword=pass
#User Configuration
ldap.user.baseDn=ou=People,dc=test,dc=com
ldap.user.request=(uid={login})
ldap.user.realNameAttribute=cn
ldap.user.emailAttribute=mail
#Group Configuration
ldap.group.baseDn=ou=Group,dc=test,dc=com
ldap.group.request=(&(objectClass=posixGroup)(memberUid={uid}))