我已经设置了一个WebGit网络Windows 7 Pro 64 位上的 IIS 下的 MVC 站点(未加入域)。
WebGit .NET:使用 ASP.NET MVC 为 Git“智能 HTTP”提供 IIS 托管
代码中没有指定身份验证方法,我正在尝试确定在 IIS 下使用哪种身份验证方法来保护站点。我尝试了所有可用的方法,但都没有成功(这意味着它要么无法从 Git 或浏览器进行身份验证,要么只能在浏览器中工作)。我目前没有使用 SSL 运行。一旦我让身份验证正常工作,我也会添加 SSL。
我需要 auth 来从 bash 命令行(用于克隆、获取、推送等)以及在 Chrome 中使用网站创建新存储库等时进行工作。
答案1
对于我个人来说,我使用 Windows 身份验证,使用 IIS 中的“基本身份验证”选项。我还启用了 SSL,这样我的密码实际上就不会以明文形式发送。
但是,您可以使用 IIS 中提供的任何身份验证方法。在我以前的工作地点,我们使用集成 Windows 身份验证,以便我们可以通过角色控制对网站的访问。
如果您确实有一种具有角色的身份验证方法,则您应该能够使用 Web.config 中的 IIS URL 限制来锁定对存储库的访问。
如果您需要更多详细信息,请告诉我!
答案2
我还在 IIS 7 上使用带有 SSL 和 Windows 身份验证的 WebGit .NET。
要使用 Git Extensions 进行推送,请检查是否在“设置”->“设置”->“Git Extensions”下设置了“执行进程时显示 Git 命令行对话框”选项。如果您未选中此选项,则在推送时 Git Extensions 似乎会挂起。启用此选项后,推送时会弹出一个空白命令窗口。如果我输入 Windows 用户名,按 Enter 键,输入密码,然后再次按 Enter 键,则推送成功。