2011-08-04 24 views
2

为了简化我的问题,我基本上试图建立一个ASP.NET MVC 3网站,允许用户查看分配给他们的工作项。我有网站的意见和控制器工作。当我尝试部署到运行在我的机器上的IIS(Win 7)时,会出现问题。用于识别用户和访问tfs的Windows身份验证不会自动传递到网页,因为它会要求他们登录(我不希望这样)。在IIS中的身份验证仅启用了Windows身份验证,并在Web.config具有ASP.NET MVC3 Windows身份验证传递到TFS

<authentication mode="Windows" /> 
<identity impersonate="true" /> 
<customErrors mode="Off" /> 

<authorization> 
    <deny users ="?" /> 
    <allow users ="*" /> 
</authorization> 

没有任何人知道为什么这是行不通的。

干杯

+0

网站的主机名是什么?更具体地说:它是通过编辑hosts文件创建的吗? – Matt

+0

没有主机名,因为它将在我的机器上运行,并在我们的办公室使用,通过机器的IP地址访问。 – harryovers

+0

嗯..好吧,我有一个建议,但它可能不是你要找的。 – Matt

回答

4

默认情况下,禁用ASP.NET模拟。如果启用模拟,则ASP.NET应用程序将在IIS 7验证的用户的安全上下文下运行。请参阅Configure ASP.NET Impersonation Authentication。通过Kerberos进行约束委派是将模拟凭证流向第二个主机的唯一方式。您可以通过在TFS App Tier上部署您的Web应用程序并配置其应用程序池以与TFS Web服务相同的身份运行来解决此问题。

+0

除了委托通过Kerberos或托管在与TFS相同的服务器上,是否还有其他替代方案? – jonamreddy

0

你可能想看看这个MS KB文章在。我有一个类似的问题,但围绕开发盒主机名,并且这对我有效: http://support.microsoft.com/kb/896861

+0

我读过这个(http://stackoverflow.com/questions/1327207/site-with-windows-authentication-sometimes-gives-password-prompt/1327373#1327373)答案和那个问题的固定部分。用户凭证现在没有传递给tfs,并且错误显示“TF30063:您无权访问” – harryovers

+0

@harryovers:您是否能够以某种方式解决此问题? – jonamreddy

+0

@jonamreddy我相信我确实解决了它,但它是五年前,所以我不知道我做了什么 – harryovers