0


Gitlab集成Ldap认证登录报错

一、问题描述

Gitlab集成了ldap认证,由于公司人员组织架构调整,导致一部分人登录gitlab报错。
出现两种报错:

Could not authenticate you from Ldapmain because "Undefined method `provider' for nil:nilclass".
Could not authenticate you from Ldapmain because "Invalid credentials for xxx".

通过管理后台发现这些用户为禁用状态,且无法取消禁用。


二、解决方案:

情况一:密码错误

确认账号密码没有输错,因为密码错误也会报这个错。

情况二:邮箱不一致

确认Ldap用户的邮箱与Gitlab用户的邮箱一致,我发现有些员工在Ldap中没有录入邮箱,修改Ldap用户邮箱为Gitlab邮箱后可正常登录。

情况三:手动修正身份标识(DN)

处理完邮箱后有个别员工还是无法登录,通过手动修正Gitlab中的用户身份标识解决。
用管理员账号登录Gitlab后台,从管理中心进去用户管理界面,找到对应用户,可在用户详情看到用户的身份标识(对应Ldap中的DN)还是旧的组织架构,编辑修改成新的DN后可正常登录。
身份标识修改参考下图:
在这里插入图片描述

情况四:从数据库修复用户状态

我们gitlab是通过docker部署的,这边说下容器里postgresql的连接方式。

1.进入容器
2.切换用户:

su - gitlab-psql

3.连接postgresql:

psql -h /var/opt/gitlab/postgresql -d gitlabhq_production

4.查看异常用户:

SELECT name,username,state FROM users WHERE state='ldap_blocked';

5.更新用户状态:

Update users set state='active' WHERE state='ldap_blocked';
标签: git

本文转载自: https://blog.csdn.net/l2931050/article/details/124175129
版权归原作者 魔希达 所有, 如有侵权,请联系我们删除。

“Gitlab集成Ldap认证登录报错”的评论:

还没有评论