SQL Server连接字符串使用Windows账户

31 浏览
0 Comments

SQL Server连接字符串使用Windows账户

我正在创建一个网站,但在数据库中我使用的是Windows身份验证。

我知道你在使用SQL身份验证

 
     

我该如何修改这个以使其支持Windows身份验证?

0
0 Comments

问题原因:使用Windows账户连接到SQL Server时,需要正确设置连接字符串中的Integrated Security字段为true,才能通过Windows身份验证访问数据库。如果将该字段设置为false,Windows身份验证将无法工作。另外,根据所使用的提供程序不同,设置Integrated Security字段的方式也会有所不同。

解决方法:根据不同的提供程序,正确设置连接字符串中的Integrated Security字段。

- 对于SqlClient提供程序,可以使用Integrated Security=true;或IntegratedSecurity=SSPI;。

- 对于OleDb提供程序,需要使用Integrated Security=SSPI;。

- 对于Odbc提供程序,需要使用Trusted_Connection=yes;。

- 对于OracleClient提供程序,需要使用Integrated Security=yes;。

需要注意的是,使用OleDb提供程序时,如果设置Integrated Security=true,将会抛出异常。

0
0 Comments

问题的原因是在连接字符串中使用了Windows账户,但是没有正确配置连接字符串。

解决方法是将用户名和密码替换为Integrated Security=SSPI;,并且删除Persist Security Info属性。最终的连接字符串如下所示:

<connectionStrings>
<add name="NorthwindContex"
   connectionString="data source=localhost; 
   initial catalog=northwind; 
   persist security info=True; 
   Integrated Security=SSPI;"
   providerName="System.Data.SqlClient" />
</connectionStrings>

同时,还有一个问题是是否可以为Windows应用程序设置特定的AD用户,类似于Web应用程序中设置的方式。

0
0 Comments

问题出现的原因是连接字符串中的Windows账户无法正常使用。解决方法是修改连接字符串,并将身份设置为自定义帐户。

解决方法如下:

1. 打开配置文件。

2. 使用以下连接字符串修改连接字符串:


3. 将其中的"YOUR_SERVER_NAME"替换为当前服务器的名称,并保存。

4. 打开IIS管理器。

5. 查找网站或网络应用程序正在使用的应用程序池的名称。

6. 右键单击并选择高级设置。

7. 在高级设置下,找到“过程模型”下的“身份”,将其更改为“自定义帐户”,并添加您的服务器管理员详细信息。

8. 执行上述操作后,所有进程执行的操作都将使用该帐户的权限/特权运行。不要授予比所需权限更多的权限。建议使用专用服务帐户。还建议查看DISA IIS和Windows Server STIG:public.cyber.mil/stigs/downloads

9. 解决方法有效,但请注意,尝试设置自定义帐户时,您要添加的帐户应该已经存在于控制面板>用户帐户中,否则将会出错。因此,首先在用户帐户中添加该帐户,然后才能在应用程序标识中设置它。

0