Gerrit 整合 ldap 和 CAS 单点登录
背景介绍
- Gerrit 版本:2.16
- Gerrit URL:http://devops.iamzhl.top:82
- openLDAP 服务:ldap://devops.iamzhl.top:389
- CAS 服务:http://devops.iamzhl.top:8080/cas
整合 LDAP
修改 gerrit.config
# vi /usr/local/review_site/etc/gerrit.config
请根据自己的
LDAP
服务器信息进行定制
[auth]
type = LDAP
[ldap]
server = ldap://devops.iamzhl.top:389
username = cn=Manager,dc=iamzhl,dc=top
password = passwd
accountBase = ou=People,dc=iamzhl,dc=top
groupBase = ou=People,dc=iamzhl,dc=top
accountFullName = uid
重启服务
# gerrit restart
测试
打开网址http://devops.iamzhl.top:8081
,进入到Gerrit
主页面
点击右上角Sign in
,进入登录界面,输入LDAP
服务器中的用户名和密码,然后点击Sign in
登录成功后跳转到用户主页面,正常获取用户名
点击用户名 -> Sign Out,正常退出
至此,Gerrit
整合LDAP
完成。
整合 CAS
修改 gerrit.config
# vi /usr/local/review_site/etc/gerrit.config
修改[auth]
部分
[auth]
type = HTTP
httpHeader = X-Forwarded-Gerrit
logoutUrl = http://devops.iamzhl.top:8080/cas/logout
mod_auth_cas
修改
然后安装mod_auth_cas
# yum -y install mod_auth_cas
配置mod_auth_cas
# vi /etc/httpd/conf.d/auth_cas.conf
修改CAS
的Cookie
存储位置以及登录地址和验证地址等参数如下
LogLevel Debug
CASDebug On
CASVersion 2
CASTimeout 1740
CASIdleTimeout 1740
CASSSOEnabled On
CASCookiePath /var/cache/httpd/mod_auth_cas/
CASLoginURL http://devops.iamzhl.top:8080/cas/login
CASValidateURL http://devops.iamzhl.top:8080/cas/serviceValidate
修改 apache 配置文件
# vi /etc/httpd/conf/httpd.conf
添加反向代理
# 添加一个监听端口 82 用作 Gerrit 的代理主机
Listen 82
# 加载 mod_auth_cas 模块,如果已经加载请忽略
LoadModule auth_cas_module modules/mod_auth_cas.so
# 设置 Gerrit 的虚拟主机
<VirtualHost *:82>
ServerName devops.iamzhl.top
ServerAdmin 15563836030@163.com
CASRootProxiedAs http://devops.iamzhl.top:82
ProxyRequests Off
ProxyVia Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
<Location "/login/">
AuthType CAS
AuthName "Welcome To Gerrit Code Review"
Require valid-user
CASAuthNHeader X-Forwarded-Gerrit
</Location>
AllowEncodedSlashes On
ProxyPass / http://devops.iamzhl.top:8081/
ProxyPassReverse / http://devops.iamzhl.top:8081
ErrorLog /var/log/gerrit/error.log
CustomLog /var/log/gerrit/access.log common
</VirtualHost>
重启服务
# mkdir /var/log/gerrit
# gerrit restart
# systemctl restart httpd
测试
打开网址http://devops.iamzhl.top:82
,发现自动跳转到了CAS
的登录界面,网址是http://devops.iamzhl.top:8080/cas/login?service=http%3a%2f%2fdevops.iamzhl.top%3a82%2f
输入用户名密码后,点击登录,登陆成功,地址是http://devops.iamzhl.top:82//#/dashboard/self
点击用户名 -> Sign Out,就会登出
登出界面如下,地址是http://devops.iamzhl.top:8080/cas/logout
至此,Gerrit
整合CAS
单点登录完成。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 套陆的博客!
评论
TwikooUtterances