如何将SQL Server配置为使用带有windows身份验证的ASP.NET MVC



这是我的连接字符串:

<add name="MyDb" providerName="System.Data.SqlClient" connectionString="Server=localhost;Data Source=.MSSQLSERVER;Initial Catalog=MyDb;Integrated security=SSPI;" />

它在我的本地主机上运行得很好,但在我的服务器上,在部署我的应用程序后,它不想工作,它给了我这个错误:

[SqlException(0x80131904):与网络相关或特定于实例建立与SQL Server的连接时出错。这个找不到或无法访问服务器。验证实例名称正确,并且SQL Server已配置为允许远程连接。(提供程序:SQL网络接口,错误:25-连接字符串无效)]

当我将连接字符串更改为使用帐户凭据-sa时,它连接得很好,所以我完全知道这是sql server配置不好的问题。

所以我的问题是:我有一个新安装的sql server实例,我该如何配置它,以便它允许对我的asp.net mvc应用程序进行windows身份验证?

编辑:毕竟,我再次查看了我的连接字符串,并删除了数据源=。\MSSQLSERVER。它起了作用,现在一切都很好,谢谢你们的帮助。

如果您的应用程序在IIS的DefaultAppPool下运行,它将使用"IIS APPPOOL\DefaultAppPool"计数以集成模式访问数据库。因此,要在SqlServer:中授予帐户

  1. 打开sqlserver实例
  2. 展开安全性,选择"新登录"
  3. 设置"IIS APPPOOL\DefaultAppPool"作为登录名,从"用户映射"选项卡中为帐户提供数据库访问权限
  4. 单击"确定"创建

希望这能有所帮助。

看看following article on MSDN,它说明了如何更改SQL Server的身份验证模式。

您可以使用SQL Server管理工作室:

  1. 在SQL Server Management Studio对象资源管理器中,右键单击服务器,然后单击"属性"
  2. 在"安全"页面的"服务器身份验证"下,选择新的服务器身份验证模式,然后单击"确定"
  3. 在SQL Server Management Studio对话框中,单击"确定"以确认重新启动SQL Server的要求
  4. 在对象资源管理器中,右键单击服务器,然后单击"重新启动"。如果SQL Server代理正在运行,则还必须重新启动它

首先弄清楚你的网页是在哪个Windows帐户下运行的。例如,您可以打印的值:

User.Identity.Name

如果是像"网络服务"这样的仅限本地的帐户,您必须更改该帐户。如果您在IIS中运行,则该帐户是应用程序池的属性。

一旦您了解了该帐户,就可以在SQL Server中授予该帐户登录权限。

相关内容

  • 没有找到相关文章

最新更新