我使用Apache和hgweb在我的Web服务器上配置了Mercurial存储库。我了解如何使用htdigest创建新的用户帐户,但我想知道如何启用远程用户更改其密码。理想情况下,我会使用临时密码创建自己的帐户,然后向他们发送一封电子邮件,邀请他们进行更改。用户应该能够更改自己的密码,而不是其他用户的密码(否则我只是提供一个shell帐户)。
可以这样做吗?如果是这样,怎么样?
答案 0 :(得分:2)
Htdigest是Apache user configuration file,原则上管理它们超出了Mercurial本身的范围。
要提供密码更改表单,您必须编写自己的脚本来操作htdigest文件。这应该不会太难。由于我understand it此文件的每一行都具有以下格式:
user:realm:MD5(user:realm:pass)
可以在此处找到生成此格式的MD5哈希部分的一些示例代码:
http://httpd.apache.org/docs/trunk/misc/password_encryptions.html#digest
可能你应该能够google一些预制的脚本来做这件事,但遗憾的是我无法快速找到一个。我认为也可以将Apache配置为连接到以这种格式存储密码的预先存在的数据库,并通过它来处理密码管理。
或者,我建议考虑具有内置支持这些管理任务的RhodeCode或SCM-Manager等存储库服务器软件包。