3

我使用 docker 在 CentOS 7 中安装了 openproject。我更改了管理员密码,然后我忘记了。

我怎样才能重置它。?

4

2 回答 2

3

对于较新版本的 OpenProject,Ulferts 的解决方案似乎不起作用,但我成功地使用了本指南中的信息:

  1. 找出容器 ID:docker ps
  2. 以 root 身份连接到 docker 容器:docker exec -u root -it <CONTAINER ID> /bin/bash
  3. 使用 rails 控制台更改用户密码:
    RAILS_ENV=production bundle exec rails c
    u = User.find_by_login "admin"
    u.password=u.password_confirmation='my new password'
    u.save
    
  4. (按 Ctrl-D 直到您回到常规终端。)
于 2020-08-21T08:16:57.203 回答
3

如果设置允许(这是默认设置),最简单的解决方案是转到https://[host]/loginOpenProject 安装的登录页面 ( )(通过浏览器)并使用“忘记密码?” 链接以将密码重置令牌发送到为管理员帐户配置的电子邮件地址。

如果该选项不存在,您必须连接到 docker 容器以在其上获取终端窗口,例如按照此操作指南

打开 bash 后,发出:

sudo openproject run rails console

这将为您打开一个 Rails 控制台。

进入后,发出:

# retrieve first admin account
admin = User.where(admin: true).first
# change the password
admin.password = admin.password_confirmation = "[The password you choose]"
# Save the change disregarding any errors
admin.save(validate: false)

如果您在安装中有多个管理员帐户,则必须在第一步中缩小正确的帐户范围,例如

# print a list of all admin accounts
pp User.where(admin: true).pluck(:id, :login, :firstname, :lastname, :mail)
# Fetch admin account by id
admin = User.where(id: "[the id]")
于 2019-03-13T08:19:05.897 回答