2013-01-11 42 views
81

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

我知道,你用这个SQL认证

<connectionStrings> 
    <add name="NorthwindContex" 
     connectionString="data source=localhost; 
     initial catalog=northwind;persist security info=True; 
     user id=sa;[email protected]" 
     providerName="System.Data.SqlClient" /> 
</connectionStrings> 

如何修改这个Windows身份认证的工作?

回答

132

替换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> 
+1

我知道你可以将特定的AD用户设置为应用程序池(web应用程序)。你可以做同样的Windows应用程序? – user384080

+4

'Persist Security Info'可能不需要:http://stackoverflow.com/a/2010059/1869660 – Sphinxxx

+0

@ heads5150:有没有可能我的项目中没有连接字符串?我错过了什么。我已经搜遍了我的整个解决方案,找到上面的连接字符串。我找不到任何。我创建的那个在网络发布和网络配置中被评论了..我使用vs express 2013与本地数据库。 – Vini

0

这是更短,工作

<connectionStrings>  
<add name="DBConnection" 
      connectionString="data source=SERVER\INSTANCE; 
     Initial Catalog=MyDB;Integrated Security=SSPI;" 
      providerName="System.Data.SqlClient" /> 
</connectionStrings> 

坚持安全信息不需要

0

对于多小时后正确的解决方案:

  1. 打开配置文件
  2. 更改连接字符串与下列

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

  • 更改您的服务器名与当前服务器名并保存
  • 打开IIS管理器
  • 查找网站或Web应用程序使用
  • 右键单击并选择高级设置
  • 从高级设置下过程模型改变身份到自定义账号,并添加应用程序池的名字你服务器管理的详细信息,请参阅附件图片:
  • enter image description here

    希望这会有所帮助。

    相关问题