【发布时间】:2012-08-07 20:19:36
【问题描述】:
所以我一直在开发一个从现有数据库中提取数据的 MVC 应用程序。我将其设计为“Intranet 应用程序”,以便用户使用其 Windows 凭据自动登录到该应用程序。这是可行的,因为属性 @User.Identity.Name 返回我的 Windows 登录名。 (以及其他用户),并且他们可以访问应用程序本身。但是,当尝试访问信息所在的数据库时,我收到以下错误:
[SqlException (0x80131904): 用户“**我的电脑名**”登录失败。]
它似乎正在识别我的 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 身份验证之外的所有身份验证。任何想法我做错了什么?如果您还需要任何其他信息,请告诉我。
【问题讨论】:
-
你的 sql 连接字符串是什么样的?
标签: asp.net-mvc visual-studio-2010 entity-framework-4