(转)Connect string 中的 Intergrated Security
integrated security=true 的意思是集成验证,也就是说使用Windows验证的方式去连接到数据库服务器。这样方式的好处是不需要在连接字符串中编写用户名和密码,从一定程度上说提高了安全性。
在Windows应用程序中 是用当前用户的身份。但是在asp.net中就不是了:
如果是ASP.NET应用程序(网站或者服务),那么根据其运行宿主环境的不一样,可能会有差异
1. Windows XP :ASPNET帐号
2. Windows 2003或者以后的版本:NetWork Service帐号
知道这个原理之后,那么如果你准备用Integrated security=true,则需要授予这两个帐号对于数据库的访问权限。
但要注意一个问题(也是很多朋友疑惑的),就是在Visual Studio里面调试的时候,貌似又不是使用ASPNET这个帐号的。这是因为Visual Studio总是使用当前开发环境中,用户的Windows身份来发起请求的。
从下面的图可以看到这个差别。在VS里面调试,与在IIS中调试,访问的身份是不一样的
(工具是 sql server profiler, SQL Server自带的)
转自:http://www.cnblogs.com/chenxizhang/archive/2009/05/12/1454723.html