Authentication 如何修复发布到自托管NuGet服务器时的401身份验证错误

Authentication 如何修复发布到自托管NuGet服务器时的401身份验证错误,authentication,nuget,nuget-server,Authentication,Nuget,Nuget Server,我在我们的内部网上遵循了这些(版本2.2.2)。在VS 2012中列出包并检索它们时,它非常有用。但是,当我使用Nuget软件包资源管理器创建软件包并尝试发布它时,会出现一个Windows安全对话框,提示输入凭据。无论我输入什么凭据,它都会不断重新提示我输入用户名和密码,并返回401身份验证错误。为什么NuGet服务器会提示我输入Windows凭据,我如何才能摆脱它?它只为出版而做,其他什么都不做。我想a找到了一个解决方案(至少解决了我的问题): 我放弃了Nuget问题,我把注意力集中在ISS

我在我们的内部网上遵循了这些(版本2.2.2)。在VS 2012中列出包并检索它们时,它非常有用。但是,当我使用Nuget软件包资源管理器创建软件包并尝试发布它时,会出现一个Windows安全对话框,提示输入凭据。无论我输入什么凭据,它都会不断重新提示我输入用户名和密码,并返回401身份验证错误。为什么NuGet服务器会提示我输入Windows凭据,我如何才能摆脱它?它只为出版而做,其他什么都不做。

我想a找到了一个解决方案(至少解决了我的问题):

我放弃了Nuget问题,我把注意力集中在ISS 401错误上。然后,我将用户“IIS AppPool\DefaultAppPool”的权限授予应用程序的根用户(或使用该应用程序的应用程序池,在我的示例中为“ASP.NET v4.0”)。那它就很有魅力了


更多信息(以及对问题的良好解释):

除了软件包文件夹的权限配置之外,还有一件事。在我的情况下,我必须像这样使用URL

http://<server>/<nuget_virtual_dir>/api/v2/package/ 
http:////api/v2/package/ 

因为推。在我的情况下,这是唯一的解决方案。

您可能会觉得很有帮助,因为它介绍了如何在发布工作站(或构建服务器,但在任何一种情况下都是准确的信息)上配置凭据。

当您使用NuGet push时,您需要在NuGet服务器URL之后放置/api/v2/package(示例)

如果使用NuGet用户界面(NuGet Package Explorer),则只需将服务器url置于url之上(示例)


还要注意Web.config中的apikey配置,并在NuGet push中使用它

同样的问题。。。我把perms改为“Packages”目录,改为“All”和“IIS_USR”,他们可以在。。。仍然显示凭证提示。帮忙?