我使用 docker 在 CentOS 7 中安装了 openproject。我更改了管理员密码,然后我忘记了。
我怎样才能重置它。?
对于较新版本的 OpenProject,Ulferts 的解决方案似乎不起作用,但我成功地使用了本指南中的信息:
docker ps
。docker exec -u root -it <CONTAINER ID> /bin/bash
RAILS_ENV=production bundle exec rails c
u = User.find_by_login "admin"
u.password=u.password_confirmation='my new password'
u.save
如果设置允许(这是默认设置),最简单的解决方案是转到https://[host]/login
OpenProject 安装的登录页面 ( )(通过浏览器)并使用“忘记密码?” 链接以将密码重置令牌发送到为管理员帐户配置的电子邮件地址。
如果该选项不存在,您必须连接到 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]")