Authentication 配置NuGet服务器以使用身份验证
NuGet 1.5状态的Authentication 配置NuGet服务器以使用身份验证,authentication,iis,nuget,ntlm,nuget-server,Authentication,Iis,Nuget,Ntlm,Nuget Server,NuGet 1.5状态的 NuGet now supports connecting to private repositories that require basic or NTLM authentication. 但是,其中包含的链接只是指向页面,没有进一步提到如何设置身份验证 我想设置一个NuGet服务器,它可以通过https从internet访问,但只允许能够成功进行身份验证的人在服务器上查看或下载包 我确实创建了一个没有auth的应用程序,如中的创建远程提要部分所述,它在intr
NuGet now supports connecting to private repositories that require basic
or NTLM authentication.
但是,其中包含的链接只是指向页面,没有进一步提到如何设置身份验证
我想设置一个NuGet服务器,它可以通过https从internet访问,但只允许能够成功进行身份验证的人在服务器上查看或下载包
我确实创建了一个没有auth的应用程序,如中的创建远程提要部分所述,它在intranet上运行良好。要启用此回购协议的身份验证,我必须做什么
另外一个要求是,解决方案不应花费数百美元(前两个答案推广的产品可能会解决问题,但成本很高)。如果您想要真正安全的源并将其公开到internet,您可能需要看看在何处可以创建需要基本身份验证的私有源,默认情况下,使用SSL/HTTPS 使用您首选的身份提供商(Live Id、Facebook、Google、Stackoverflow、GitHub、OAuth等)甚至您自己的企业ADF(企业计划),在注册后几次点击,即可邀请您想要的人加入您的订阅源并分配他们的权限 更多信息:
有关在visual studio内或在生成服务器上设置身份验证的帮助,请查看我们的文档,网址为和。如果您需要进一步的帮助,我们很乐意通过我们的联系表或标有MyGet的StackOverflow问题提供帮助。我实际上选择的解决方案是使用TeamCity作为NuGet服务器;虽然设置起来有点麻烦,因为它缺少nuget push功能,但它现在可以很好地工作,并且只向经过身份验证的用户提供nuget软件包,不需要额外的成本。这可以通过在网站上启用Windows身份验证并通过命令行选项在生成服务器上添加凭据来实现,默认情况下,凭据是使用DPAPI密钥存储的,该密钥仅限于当前计算机上的当前用户(因此,对于生成服务器,您需要在使用服务帐户登录时添加凭据) 对于开发人员工作站,您只需要在NuGet Package Manager中添加提要,然后在刷新提要时输入/存储凭据(应该会提示您) 步骤1-要求在NuGet服务器上进行身份验证(IIS配置) 您需要确保为IIS安装了要使用的身份验证模块,对于NTLM auth,您将需要Windows身份验证模块。安装后,您可以打开IIS管理器并深入到您的网站,打开身份验证设置并启用Windows身份验证,确保禁用您不想支持的任何身份验证模块(如匿名、基本等) 要确保使用用户凭据,请右键单击站点并选择“高级设置”,然后单击“物理路径凭据”按钮。在对话框中,确保选择了“应用程序用户(通过身份验证)” 可以找到有关Windows身份验证的标准IIS配置的更多详细信息,包括从命令行配置和启用协商(如果这是您的目标的话) 步骤2-将源添加到NuGet配置(生成服务器、发布服务器) 这里我们添加了两个条目,一个将用作正常的、经过身份验证的提要URL(用于从服务器获取包)。第二个将用于发布到服务器(添加或更新nupkg文件) 步骤3-更新添加源(生成服务器、发布服务器)的凭据 这里我们向配置中添加了凭据,如果您查看
%APPDATA%\NuGet\NuGet.config
,您应该会看到您添加的提要以及加密的凭据
如果您不能以服务器身份登录,可以使用StorePasswordInClearText
选项以明文形式存储凭据,但在共享环境中不建议这样做
步骤4-(可选)禁用Visual Studio中的发布URL(开发人员)
打开Visual Studio并导航到NuGet Package Manager设置对话框,取消选中“Fabrikam发布”提要。这不会影响您的发布能力,但是,如果您不禁用此提要,则在尝试刷新“所有”源的包时会收到错误(因为它是发布URL,而不是提要URL)
步骤5-(可选)在Visual Studio中存储Windows凭据(开发人员)
打开VisualStudio并导航到NuGet包管理器,单击“Fabrikam提要”。应提示您输入凭据。您可以在此处输入凭据并勾选“保存/记住”选项。这确保了在VisualStudio中刷新提要时不会经常要求提供凭据。在最新版本的NuGet Package Manager中,使用标准HTTP请求获取提要,并且不使用存储到NuGet.config的凭据
注意事项:
nuget.exe sources add -Name "Fabrikam Feed" -Source "https://nuget.fabrikam.com:443/nuget/"
nuget.exe sources add -Name "Fabirkam Publish" -Source "https://nuget.fabirkam.com:443/"
nuget.exe sources update -Name "Fabrikam Feed" -Source "https://nuget.fabrikam.com:443/nuget/" -UserName "Developer" -Password "g0d"
nuget.exe sources update -Name "Fabrikam Publish" -Source "https://nuget.fabrikam.com:443/" -UserName "Developer" -Password "g0d"