所有
我正在使用ASP.Net MVC 4应用程序。 我已启用 Windows身份验证。
直到现在它工作正常。
现在我增强了应用程序以通过其API连接到TFS。 为此,我需要使用Windows身份验证凭据。
我尝试过使用
ICredentialsProvider credential = new UICredentialsProvider();
TfsTeamProjectCollection teamProjectCollection = new TfsTeamProjectCollection(collectionUri, credential);
这在开发环境中非常有用。但是当我在IIS 8.5中托管应用程序时,它在“应用程序池标识”和“网络服务”帐户下根本无法运行。
我尝试使用本地系统和特定用户的应用程序池的身份,它正在工作。
但我需要根据Windows凭证(Active Directory)来工作。
有人可以建议解决方案吗?
答案 0 :(得分:0)
您可以在TFS应用层上部署Web应用程序,并将其应用程序池配置为与TFS Web服务具有相同的标识,并启用ASP.NET模拟。检查一下这种情况:ASP.NET MVC3 Windows Authentication Pass Through to TFS
答案 1 :(得分:0)
您可能会遇到Kerberos双重希望问题。
您有两种方法可以解决它:
#1很简单,但#2需要为Active Directory域管理员提供大量工作。
https://support.microsoft.com/en-us/kb/810572
您将需要:
这不是101,根据我的经验,在企业和小型企业中做了很多这样的事情,大多数域管理员都不知道Kerberos委派如何工作,或者如何配置它。
您需要了解如何并明确要求他们采取行动。喜欢"运行' setspn myapp.mydomain.com domain \ myserviceaccount'"。