与IIS和Asp.net MVC Intranet应用程序的Windows身份验证问题

问题描述:

所以我一直在从一个现有的数据库中提取数据的MVC应用程序。我将其设计为“Intranet应用程序”,以便用户可以使用其Windows凭据自动登录到应用程序。这是有效的,因为属性@ User.Identity.Name返回我的Windows登录名。 (以及其他用户),他们可以访问应用程序本身。但是,试图访问数据库中的信息是,我得到以下错误时:与IIS和Asp.net MVC Intranet应用程序的Windows身份验证问题

[SqlException (0x80131904): Login failed for user '**My computer name**'.]

这样看来,它是认识我的Windows登录,但出于某种原因想用我的机器名来访问数据库代替。在该公司,这个特定的数据库也可以使用员工的Windows用户名访问,所以我希望人们能够使用MVC应用程序中的内置Windows身份验证自动访问它。

在我的web.config中,我的身份冒充设置为false,身份验证模式等于Windows和下面的键中的appSettings:

<add key="ClientValidationEnabled" value="true" /> 
<add key="UnobtrusiveJavaScriptEnabled" value="true" /> 
<add key="enableSimpleMembership" value="false"/> 
<add key="autoFormsAuthentication" value="false" /> 

连接字符串是自动生成对我来说,和信息在从Visual Studio运行应用程序时是可检索的,所以我只能假设这是IIS设置的问题。 (我以前从未部署过MVC应用程序)

在应用程序的IIS设置上,除Windows身份验证外,我禁用了所有身份验证。任何想法我做错了什么?如果您还需要任何其他信息,请告知我们。

+0

你的sql连接字符串是什么样的? – Brownman98 2012-08-07 20:32:03

打开身份验证配置中的模拟。否则,应用程序池的标识将用于连接到您的Sql Server。

+0

哇,我发誓我试过了,但那的确是诀窍。谢谢你,先生! – Durand 2012-08-07 20:31:21