0

我使用 Apache 和 hgweb 在我的 Web 服务器上配置了 Mercurial 存储库。我了解如何使用 htdigest 创建新用户帐户,但我想知道如何使远程用户能够更改他们的密码。理想情况下,我会使用临时密码创建他们的帐户,然后向他们发送一封电子邮件,邀请他们更改密码。用户应该能够更改他们自己的密码,而不是其他用户的密码(否则我只需为他们提供一个 shell 帐户)。

这可以做到吗?如果是这样,怎么做?

4

1 回答 1

2

Htdigest 是一个Apache 用户配置文件,原则上管理这些文件超出了 Mercurial 本身的范围。

要提供密码更改表单,您必须编写自己的脚本来操作 htdigest 文件。应该不会太难。据我了解,该文件的每一行都具有以下格式:

user:realm:MD5(user:realm:pass)

可以在此处找到一些生成此格式的 MD5 哈希部分的示例代码:

http://httpd.apache.org/docs/trunk/misc/password_encryptions.html#digest

可能你应该能够在谷歌上搜索一些可以做到这一点的预制脚本,尽管很遗憾我没能快速找到一个。我认为也可以将 Apache 配置为连接到以这种格式存储密码的预先存在的数据库,并通过它处理密码管理。

或者,我建议考虑存储库服务器包,例如RhodeCodeSCM-Manager,它们具有对此类管理任务的内置支持。

于 2012-05-22T10:32:18.500 回答