我正在尝试在同一网络上的SQL Express实例,并通过我的域用户进行身份验证。它与SSMS中的Windows身份验证配合使用时效果很好。我确认可以使用MyDB数据库,包括编辑表。
但是,当我尝试以下连接字符串时:
Server=ipaddress\SQLExpress; Database=MyDB; Integrated Security=SSPI;
我得到一个错误:
Cannot open database "MyDB" requested by the login. The login failed. Login failed for user 'ROMANIA\MONSTER2$'
问题是MONSTER2是我的计算机的名称,而不是我的用户名。(ROMANIA是域。)我在做什么错?
[编辑]我忘记了可能相关的内容:我试图通过计算机上运行的Web服务打开连接。
您的Web服务在NT AUTHORITY\Network Service安全上下文中运行。这将导致该过程 在访问 域中的 网络资源时使用主机的计算机帐户 。
NT AUTHORITY\Network Service
您必须将Web服务配置为以您的域身份运行。
如果您将Web服务托管在IIS中,则可以通过模拟来实现。这是一个例子:
<configuration> <system.web> <identity impersonate="true" userName="ROMANIA\username" password="********" /> </system.web> </configuration>