如何从后端重置 tuleap 管理员密码?

如何从后端重置 tuleap 管理员密码?

我该如何从后端重置“admin”用户密码。我拥有 Tuleap 安装和 mysql 后端数据库的 shell 访问权限。在当前情况下,我无法使用“忘记密码”链接,因为 Tuleap 上的电子邮件仍未正确设置。

我尝试了以下操作但似乎不起作用:

我使用 /usr/share/tuleap/tools/utils/password_hasher.php 生成密码。通过 mysql 设置密码:

use tuleap;
update user set password='hased-password-from-password-hasher' where user_name='admin';
commit;

这样一来,我就无法以“管理员”身份登录 Tuleap。我注意到的一件事是,每次使用相同密码调用 password_hasher.php 时,它似乎都会添加随机盐并生成哈希值。也许,我在上述步骤中遗漏了其他更新?

搜索此信息使我找到一个邮件列表答案,其中指出使用 password_haser.php 并更新“用户”表,但我没有更多信息。

答案1

  1. 以 root 身份/usr/share/tuleap/src/common/User/User.class.php在文本编辑器中打开
  2. 一直向下滚动到文件底部
  3. 安排方法“doesUserHaveSuperUserPermissionDelegation”始终返回 true,例如
        受保护的函数 doesUserHaveSuperUserPermissionDelegation()
        {
            返回 true; // XXX
            返回 $this->getPermissionManager()->doesUserHavePermission($this, new SiteAdministratorPermission());
        }
    
    然后保存文件
  4. 导航至 https://tuleap/admin 并通过 UI 执行任何所需的更改
  5. 完成工作后,不要忘记撤消步骤 3

相关内容