我将SQL连接字符串的集成安全性设置为false
,然后将其设置为true
,我没有发现任何差异。
所以我不知道它在给定环境中应该是哪些值,例如在WinForm应用程序中使用SSPI。
它意味着什么,应该设置什么?
答案 0 :(得分:1)
如果要使用当前的Windows帐户来使用数据库,请使用“集成”。
您可以在此处详细了解集成安全性:
http://msdn.microsoft.com/en-us/library/bsz5788z.aspx
如果在使用集成安全性时无法访问,则可能未设置当前用户具有足够的权限。您是否创建了要用于数据访问的数据库帐户?如果是,那么不要使用集成安全性。
答案 1 :(得分:1)
如果您使用集成安全性,则您的应用程序必须由Windows用户运行,该用户能够连接到网络中远程计算机上的数据库(假设数据库位于除您之外的其他计算机上)应用程序)。
集成安全性与Windows中的文件共享类似。如果允许您访问网络上计算机上的共享文件夹,则基本上是提供集成安全凭证,而远程计算机允许您访问某些资源(在这种情况下为共享文件夹)。
在分布式环境中,我建议禁用数据库的集成安全性并使用SQL级别的安全性。
集成安全性通常仅适用于“一个Windows域内”系统。
答案 2 :(得分:1)
如果如你所说,你没有看到任何差异,我猜你现在获得的是你的应用程序在两种情况下成功连接到你的数据库。
这可能意味着您使用用户名+密码连接到您的数据库。如果是这种情况,您就没有利用集成安全技术,只允许您使用域用户连接到数据库。所以看起来你不需要它在这个cas中,但你需要决定是否要添加这个功能,或者你想限制对一个定义良好的用户的数据库访问。
答案 3 :(得分:0)
简单来说:
如果应用程序和数据库位于同一台计算机(Windows)或活动目录中,请使用集成模式。否则使用SQL模式。