【问题标题】:Windows Authentication issue with IIS and Asp.net MVC Intranet ApplicationIIS 和 Asp.net MVC Intranet 应用程序的 Windows 身份验证问题
【发布时间】: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


【解决方案1】:

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

【讨论】:

  • 哇,我发誓我试过了,但这确实有效。谢谢楼主!
猜你喜欢
  • 2014-02-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-30
  • 2011-08-14
  • 2017-04-17
  • 2010-11-03
  • 1970-01-01
相关资源
最近更新 更多