首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

web.config中连接字符串的有关问题

2012-08-15 
web.config中连接字符串的问题在appSettings配置连接数据库的问题如何将add keyDBConnection value

web.config中连接字符串的问题
在<appSettings>配置连接数据库的问题
如何将<add key="DBConnection" value="workstation id=doughty;server=.\SQLEXPRESS;packet size=4096;user id=sa;initial catalog=doughty_bbs;persist security info=True;password=sa"></add>
改为使用使用Windows验证登录
注:不想使用<connectionStrings>,我是从网上下的代码,如果使用<connectionStrings>还需要改动许多地方

[解决办法]
参考:
http://www.cnblogs.com/zlytu/archive/2011/11/22/2258364.html
[解决办法]
连接字符串写法大全

自己查下。
[解决办法]
参看 
www.connectionstrings.com
[解决办法]
<connectionStrings>
<add name="链接名字" connectionString="data source=.;initial catalog=数据库名字;integrated security=true"/>
</connectionStrings>

<connectionStrings>
<add name="DBconnection" connectionString="data source=.;initial catalog=DBsellou;integrated security=true"/>
</connectionStrings>
[解决办法]
可以使用integrated security=true
但是web中有点tricky,因为IIS中默认使用NETWORK SERVICE(win2k3, IIS6)这个账户运行asp.net应用程序的。
因此你需要设置NETWORK SERVICE对数据库的权限。但是这样做有点危险。
你有两种方式避免给network service账户太多权限。
1. Impersonating a Fixed Identity with Windows Authentication
<identity impersonate="false" userName="" password="" />这样,asp.net就有了指定user的权限。所有的request都使用同样的用户,只要给指定user对数据的权限即可

2. Impersonating the Original Caller 
必须使用windows 模式的authentication.
<system.web>
...
<authentication mode="Windows"/>
<identity impersonate="true"/>
...
 </system.web>
这样,用户登录网站的identity将用于访问数据库。这样利于追踪是谁修改了数据库,可以用于audit。

具体参考:
How To: Use Windows Authentication in ASP.NET 2.0
http://msdn.microsoft.com/en-us/library/ff647405.aspx
 

热点排行