月度归档: 2019年8月

nginx做LDAP端口转发

在nginx的配置文件/etc/nginx/nginx.conf中配置

stream {
    server {
        proxy_timeout 300s;
        proxy_connect_timeout 300s;
        listen       1234;
        proxy_pass 127.0.0.1:389;
        proxy_busy_buffers_size 64k;
    }
}

389是ldap原来的端口,1234是用nginx转发的新端口

SonarQube的LDAP配置

1.先登陆openldap的配置页面

添加一个组叫sonar-administrators,里面添加上自己的账户

在uniqueMember下假如有一个cn=lizhenwei,dc=lzwsoft,dc=com

2.在SonarQube里配置增加一个sonar-administrators的组,把这个组的权限设置成管理员

3.进入SonarQube的配置文件sonar.properties里修改LDAP相关的配置文件。参考如下

# LDAP configuration
# General Configuration
sonar.security.realm=LDAP
ldap.url=ldap://192.168.114.170:389
#这个bindDn一般用的管理员的用户名和密码
ldap.bindDn=cn=admin,dc=lzwsoft,dc=com
ldap.bindPassword=xx
# User Configuration
# 这个一般用的搜索路径
ldap.user.baseDn=dc=lzwsoft,dc=com
ldap.user.request=(&(objectClass=inetorgperson)(uid=${login}))
ldap.user.realNameAttribute=cn
ldap.user.emailAttribute=mail
# Group Configuration
ldap.group.baseDn=dc=lzwsoft,dc=com
# 这个地方很重要,grou的idAttribute用cn。cn是判断用户属于那个组的关键参数
ldap.group.idAttribute=cn

注意ldap.group.baseDn是基础搜索。

搜索出来之后,根据dn进行二次搜索,获得cn

然后根据cn与我们的权限系统相对应。所以后续我们可以用jira来管理sonar和其他的权限。以后jira上的前端和后端需要分开建立权限了

4.重启SonarQube,登录检查是否成功

一般来说,用lizhenwei对应的密码是可以成功的。而且登录进去之后,权限就是管理员。
后续如果想要添加组,重复上面1和2的操作,必须先在LDAP里面添加组,然后在sonarqube里添加组,然后把员工绑入这个组,才能生效,如果没有这样做,会导致这个员工登录之后,并没有对应组的权限。


苏ICP备18047533号-2