连接字符串使用Windows身份验证

MDC*_*MDC 121 .net asp.net-mvc connection-string windows-authentication

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

我知道您使用它进行SQL身份验证

<connectionStrings> 
    <add name="NorthwindContex" 
       connectionString="data source=localhost;
       initial catalog=northwind;persist security info=True; 
       user id=sa;password=P@ssw0rd" 
       providerName="System.Data.SqlClient" /> 
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)

如何修改它以使用Windows身份验证?

hea*_*150 172

替换用户名和密码 Integrated Security=SSPI;

所以连接字符串应该是

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

  • 可能不需要"持久安全信息":http://stackoverflow.com/a/2010059/1869660 (5认同)

Ahm*_*Na. 13

多小时后获得正确的解决方案:

  1. 打开配置文件
  2. 使用以下内容更改连接字符串

<add name="umbracoDbDSN" connectionString="data source=YOUR_SERVER_NAME;database=nrc;Integrated Security=SSPI;persist security info=True;" providerName="System.Data.SqlClient" />

  1. 使用您当前的服务器名称更改YOUR_SERVER_NAME并保存
  2. 打开IIS管理器
  3. 找到网站或Web应用程序正在使用的应用程序池的名称
  4. 右键单击并选择"高级设置"
  5. Process Model下的Advanced settings 更改Identity to Custom帐户并添加Server Admin详细信息,请参阅附加的图像:

在此输入图像描述

希望这会有所帮助.

  • 这个解决方案对我有用,但我想知道身份的这种变化如何影响应用程序的行为,就安全而言? (2认同)

Vik*_*ani 9

如果有人来寻找 asp.net core,我们必须在 appsettings.json 中添加连接字符串

 {
"ConnectionStrings": {
   "DefaultConnection": "Server=SQLServer\\Instance;Database=MYDB;Trusted_Connection=True;MultipleActiveResultSets=true"
  }
}
Run Code Online (Sandbox Code Playgroud)

来源:添加windows身份验证sql server连接字符串


nzr*_*tmn 6

为了通过Windows身份验证连接到sql服务器数据库,基本上需要连接的服务器,数据库名称,集成安全性信息和提供程序名称是什么。

基本上可以这样:

<connectionStrings>      
<add name="MyConnectionString"
         connectionString="data source=ServerName;
   Initial Catalog=DatabaseName;Integrated Security=True;"
         providerName="System.Data.SqlClient" />
</connectionStrings> 
Run Code Online (Sandbox Code Playgroud)

Integrated Security字段设置为true意味着您基本上希望通过Windows身份验证访问数据库,如果将此字段设置为false,则 Windows身份验证将不起作用。


Car*_*s E 5

这更短并且有效

<connectionStrings>      
<add name="DBConnection"
             connectionString="data source=SERVER\INSTANCE;
       Initial Catalog=MyDB;Integrated Security=SSPI;"
             providerName="System.Data.SqlClient" />
</connectionStrings> 
Run Code Online (Sandbox Code Playgroud)

不需要持久性安全信息