c# - '域名/机器名 $' being used for authentication instead of ' 域名/用户名'

标签 c# asp.net sql-server authentication iis-7

以下帖子可能看起来相同,但在尝试作为答案提供的所有解决方案后,我无法纠正问题。 (Login failed for user 'DOMAIN\MACHINENAME$')

我的问题

我正在 Windows 网络 中的 IIS7 开发服务器上部署一个启用了表单例份验证的 asp.net Web 应用程序。 My SQL Server 部署在同一网络中的远程机器上,并为远程连接打开必要的 TCP 端口。所有域用户都已被授予对 SQL Server 中必要数据库的访问权限。

现在,当我尝试运行我的网络应用程序时,出现以下错误:

用户“DOMAIN\MachineName$”登录失败

我已经为 SQL 服务器中的 NT AUTHORITY\NETWORK SERVICE 授予了足够的权限。

不想向 SQL Server 中的'DOMAIN\MachineName$'授予任何权限,因为开发人员出于各种测试目的不断更改计算机名称。

我使用的连接字符串是:

“服务器=SQL-SERVER;初始目录=MyDatabase;集成安全=SSPI;持久安全信息=False”

SQL 提供程序是System.Data.SqlClient

由于我的网络应用程序包含 login.aspx,因此启用了匿名和表单例份验证。

最佳答案

重点是,每当您使用NT AUTHORITY\NETWORK SERVICE时作为您的应用程序池用户,系统会将其在网络中转换为 DOMAIN\MachineName$ .

我们所做的就是通过将应用程序池的用户名设置为开发者的名字,使用开发者的用户名来连接机器。

关于c# - '域名/机器名 $' being used for authentication instead of ' 域名/用户名',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28644871/

相关文章:

c# - -1U和-1UL的怪异行为

asp.net - 使用 .net 创建用户时,asp.net CreateUser 中的 InvalidUserName @ 字符之前的字符

c# - 扩展 Asp.Net Identity IsInRole() 方法

c# - 如何终止特定用户帐户下运行的特定进程

c# - 关于异常详细信息的问题 c#

c# - 如何在三元运算符中编写多个语句?

asp.net - 是否存在用于 asp.net 的 RAD?

sql - 如何根据相同的日期范围计算不同表中的行数

java - Sun JDBC ODBC 驱动程序或 MSSQL JDBC 驱动程序

sql-server - SQL Server 临时表与表变量