背景信息:
最终目标:在 Rubymine 中而不是在 Gerrit 的基本 Web 界面上执行 Gerrit 代码审查。
我尝试连接Gerrit IntelliJ 插件但没有成功。我给主要贡献者 Urs Wolfer 发了一封电子邮件,他更新了 README,添加了一条“如果您有身份验证问题,请注意重要说明”,其中他指出:
如果您已在 Gerrit 中正确设置了 HTTP 密码,但仍存在身份验证问题,则您的 Gerrit 实例可能位于启用了 HTTP 身份验证的 HTTP 反向代理(如 Nginx 或 Apache)后面。如果您必须输入用户名和密码(浏览器密码请求)才能打开 Gerrit Web 界面,则可以识别这一点。由于此插件使用 Gerrit REST API(已启用身份验证),因此您需要告诉系统管理员,他应该对任何对 /a 路径的请求禁用 HTTP 身份验证(例如 https://git.example.com/a)。对于这些请求,HTTP 身份验证由 Gerrit 完成(双重 HTTP 身份验证不起作用)。有关更多信息,请参阅 Gerrit 文档。
当我询问系统管理员是否可以对 /a 的任何请求禁用 HTTP 身份验证时,他回答道:
抱歉,我们无法禁用 http 身份验证
(即使对于某些路径也不行)
如果你不想破解他的代码,你可以设置某种本地代理
它将是一个可以自行执行基本身份验证的 http 代理,不确定是否已经存在用于此目的的代理
有用信息:我是菜鸟。我不知道设置一个可以自行执行基本身份验证的 http 代理具体需要做什么。我担心我可能会破坏一些东西。
目前解决该问题的进展情况:
调查以下内容:
- http://en.wikipedia.org/wiki/Tinyproxy
- 在 MAC 中设置 HTTP 代理/请求转发器的最简单方法是什么?
- http://squidman.net/squidman/
- http://fiddler2.com/home
- http://en.wikipedia.org/wiki/Proxy_server
- (将更新我的进度)
迄今为止最有希望的:
- http://wiki.squid-cache.org/ConfigExamples/Authenticate/Bypass
- http://wiki.squid-cache.org/Features/Authentication
- https://security.stackexchange.com/questions/35504/how-can-i-implement-authentication-in-my-proxy-server
- https://www.macupdate.com/app/mac/10899/authoxy
笔记:
- 下载 authoxy
- Authoxy 迄今为止已被证明无法有效解决此问题
- http://hints.macworld.com/article.php?story=20030226161459306
- intellij 有 HTTP 代理功能...不知道
答案1
如果我理解正确的话,您的工作场所中有一个代理,它使用某个插件不支持的身份验证系统。解决此问题的一种方法是运行一个程序或脚本,该程序或脚本将充当本地代理,支持您工作场所的身份验证系统,并为要连接的插件实现简单或无身份验证的本地代理。
因此,如果我正确理解了这个问题,这就是你需要做的:
- 安装 Python
- 配置 ntlmaps 以使用贵公司的代理
- 配置 Gerrit 插件以使用您在 ntlmaps 中配置的本地代理
http://ntlmaps.sourceforge.net/
如果围绕相同的基本概念实施,您所研究的任何其他解决方案几乎也都可以起作用。
如果不了解身份验证类型的具体知识,就很难深入了解配置细节,但上次我必须做类似的事情,根据我的个人经验,ntlmaps 是最简单的实现/配置。