无法使用 LDAP login/enter 管理员模式
Can't login/enter admin mode with LDAP
问题
如何绕过 LDAP 登录并删除管理任务的额外身份验证?
问题
我无法进入管理员模式。当我使用常规凭据登录并尝试更改某些管理设置时,它会要求 LDAP 凭据进入管理模式。问题是 LDAP 太慢了,对我不起作用(我稍后会解决这个问题)。
上下文
我正在本地配置 gitlab-ce 13.11.3-ce.0 作为演示。我设置了一些我不想在完全重置时丢失的东西。 admin 用户进行了常规身份验证。由于我通过 LDAP 登录(我使用与 LDAP 相同的用户名登录)我无法再进入管理员模式,尽管我可以使用普通凭据以管理员用户身份登录。
我混合了管理员帐户的常规凭据和 LDAP 凭据。
我尝试了什么:
我尝试使用 /etc/gitlab/gitlab.rb
中的设置 gitlab_rails['ldap_enabled'] = false
关闭 LDAP 登录,但没有显示表单(虽然显示了 LDAP 标题)。
我尝试使用gitlab-rails console
重置用户密码。
user = User.find_by(email: 'user@example.com')
user.password = 'secret_pass'
user.password_confirmation = 'secret_pass'
user.save!
user.skip_reconfirmation!
- 我也在尝试修复 LDAP 身份验证,但现在更重要的是我可以访问管理员设置。
如the documentation所述,可以使用以下命令轻松禁用此身份验证:
gitlab-rails runner '::Gitlab::CurrentSettings.update!(admin_mode: false)'
当我找到上面的代码时,我已经使用以下方法解决了问题:
访问服务器后,我使用 gitlab-rails runner
在 Gitlab 中创建了另一个具有常规身份验证的管理员用户。
在/path/to/bypassldap.rb:
username = "bypassldap"
user = User.new(
username: username,
name: username,
email: "#{username}@gitlab.allowed.domain",
notification_email: "#{username}@gitlab.allowed.domain",
password: username,
password_confirmation: username,
admin: true
)
user.skip_confirmation!
user.save!
然后 运行:
gitlab-rails runner /path/to/bypassldap.rb
我使用创建的用户成功登录,然后在管理区域[=47]下取消设置选项管理任务需要额外的身份验证 =] > 设置 > 常规 > 展开 登录限制 部分。
有关详细信息,请参阅 the documentation。
问题
如何绕过 LDAP 登录并删除管理任务的额外身份验证?
问题
我无法进入管理员模式。当我使用常规凭据登录并尝试更改某些管理设置时,它会要求 LDAP 凭据进入管理模式。问题是 LDAP 太慢了,对我不起作用(我稍后会解决这个问题)。
上下文
我正在本地配置 gitlab-ce 13.11.3-ce.0 作为演示。我设置了一些我不想在完全重置时丢失的东西。 admin 用户进行了常规身份验证。由于我通过 LDAP 登录(我使用与 LDAP 相同的用户名登录)我无法再进入管理员模式,尽管我可以使用普通凭据以管理员用户身份登录。
我混合了管理员帐户的常规凭据和 LDAP 凭据。
我尝试了什么:
我尝试使用
/etc/gitlab/gitlab.rb
中的设置gitlab_rails['ldap_enabled'] = false
关闭 LDAP 登录,但没有显示表单(虽然显示了 LDAP 标题)。我尝试使用
gitlab-rails console
重置用户密码。
user = User.find_by(email: 'user@example.com') user.password = 'secret_pass' user.password_confirmation = 'secret_pass' user.save! user.skip_reconfirmation!
- 我也在尝试修复 LDAP 身份验证,但现在更重要的是我可以访问管理员设置。
如the documentation所述,可以使用以下命令轻松禁用此身份验证:
gitlab-rails runner '::Gitlab::CurrentSettings.update!(admin_mode: false)'
当我找到上面的代码时,我已经使用以下方法解决了问题:
访问服务器后,我使用 gitlab-rails runner
在 Gitlab 中创建了另一个具有常规身份验证的管理员用户。
在/path/to/bypassldap.rb:
username = "bypassldap"
user = User.new(
username: username,
name: username,
email: "#{username}@gitlab.allowed.domain",
notification_email: "#{username}@gitlab.allowed.domain",
password: username,
password_confirmation: username,
admin: true
)
user.skip_confirmation!
user.save!
然后 运行:
gitlab-rails runner /path/to/bypassldap.rb
我使用创建的用户成功登录,然后在管理区域[=47]下取消设置选项管理任务需要额外的身份验证 =] > 设置 > 常规 > 展开 登录限制 部分。
有关详细信息,请参阅 the documentation。