asp.net - SQLException : Login failed for user 'NT AUTHORITY\NETWORK SERVICE

标签 asp.net sql-server iis iis-7


当我通过 VS 2008 运行 Web 应用程序时,该应用程序能够登录到 Sql 服务器并检查用户输入的凭据(用户名和密码),但是当我通过 IIS 7 浏览到该应用程序并尝试回发用户时用户名和密码,应用报异常:

System.Data.SqlClient.SqlException:用户“NT AUTHORITY\NETWORK SERVICE”登录失败

  • 在 IIS 7 中,每个进程都在网络服务帐户下运行……那么我需要为该帐户分配什么权限才能使应用程序能够“联系”Sql 服务器?


谢谢


编辑:

你好,


它现在可以工作了,尽管我不明白为什么机器帐户需要这些权限。我知道机器帐户需要一些权限才能与特定程序(Sql 服务器)“对话”,但为什么需要它访问数据库及其表的权限?这不是由连接字符串中指定的帐户决定的吗

<add name="MyConnection" connectionString="data source=localhost; integrated security=sspi; initial catalog=aspnetdb;" />

拥有对数据库及其表的适当访问权限?

最佳答案

您实际上需要在 SQL Server 中为网络服务帐户创建一个帐户。然后您将授予它对您的数据库的访问权限,您授予该帐户的具体权限取决于您的数据库需要执行的任务的性质。

您可以通过“安全”部分在 SSMS 中完成这一切,右键单击“登录”并选择添加。您将添加一个 Windows 帐户,然后可以查找并验证名称“NETWORK SERVICE”。然后切换到“用户映射”部分并授予查看数据库的权限。正如我所说的权限由您决定,或者您可以为其分配 dbowner 权限以实现完全控制。

这样做之后你就会没事的。我确实警告不要授予应用程序超过所需的权限!

关于asp.net - SQLException : Login failed for user 'NT AUTHORITY\NETWORK SERVICE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/879647/

相关文章:

c# - Visual Studio 在发布过程中使用 launchSettings.json 配置文件中定义的哪一个?

javascript - Electron.Net:如何以最大化模式启动窗口?

asp.net - 如何向 Web.config 添加密码并对其进行加密

asp.net - SQL 数据源 - 存储过程和返回参数

sql - 将本地日期时间从 xml 转换为 sql 中的日期时间

asp.net - 如何在Asp.Net 4.0/IIS7中支持压缩的HTTP请求?

asp.net - HP Fortify : ASP. NET 不良做法: session 中存储不可序列化的对象

java - 如果我在 Java 中查询,如何合并来自 mssql 数据库和 mysql 数据库的数据?

SQL舍入值

c# - 找不到 Microsoft.AspNetCore.Antiforgery