1

我正在使用 LDAP auth 设置一个 mercurial 服务器,我想在其中允许每个 repo 访问,所以我在 .hg 下为每个 repo 创建一个 hgrc。

[web]
allow_push = user1

我的问题是,如果我使用这些 hgrc 文件,我无法与任何用户一起推送(中止:授权失败)。如果我只使用 hgweb.config 我可以毫无问题地做到这一点

有什么帮助吗?

谢谢

4

2 回答 2

2

当您将这些行放入hgweb.config文件中时,您可以推送任何用户还是只推送您列出的用户?我的猜测是您的 LDAP 提供的用户名格式与您预期的不同(可能是电子邮件地址等),因此它们不匹配。

检查您的 apache 错误日志是否有任何有趣的内容,并考虑更改日志格式以记录$REMOTE_USER环境用户以查看匹配的内容。push_ssl此外,如果您不使用 SSL 连接,请确保您的值设置为 false(尽管您应该这样做)。

于 2012-03-01T16:13:24.300 回答
1

当你的 HTTP 服务器是 Nginx 时,修改log_format以找出哪个用户从 Nginx 重定向到 HG

vi /etc/nginx/nginx.conf

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                 '"$http_user_agent" "$http_x_forwarded_for"';

并查看 Nginx 日志文件

cat /var/log/nginx/nginx.log
于 2015-11-16T06:53:48.397 回答