我知道这听起来倒退但我希望能够在连接凭据之前确定SQL服务器的身份验证模式。这可能吗?
如果您有兴趣,我会简要解释一下原因......
我们产品的大多数用户不了解,理解甚至不关心其业务应用程序所基于的数据库。传统上,我们只是在安装过程中静默安装SQL Server 2005 Express,并在应用程序中嵌入了SQL用户和密码。对于我们在过去10年中销售的大多数“Ma和Pa”公司来说,这已经足够了。
随着安全问题变得越来越突出,我们的产品开始覆盖一些规模更大的用户(有IT顾问甚至自己的工作人员确实有安全保障),有些人已经预先存在(前“我们的产品“正在安装”我们发现SQL服务器需要更灵活地适应现有的环境。
我没有遇到任何问题,但我不想在安装时强制决定将SQL服务器身份验证方法,用户名和密码等等放到我们的“最低公分母”用户身上。
如果这很难,我们在开始之前就会失去它们。
因此,我希望我们的应用程序能够快速,轻松地确定服务器运行的模式,并适当地构建其连接字符串。
目前我们只是使用试错法 - 尝试连接Windows身份验证,连接? =好,失败? =尝试使用SQL和已知的用户名/密码,连接? =好,失败?现在提示输入凭据,因为在这种情况下,他们必须更改内容,因此了解他们正在做什么。
“试错”是唯一的方法还是在连接凭据之前有办法检查身份验证模式? (使用c#和sql2005获取它的价值)
答案 0 :(得分:0)
对于它的价值,我不确定在尝试连接之前检查身份验证模式会有所帮助。
如果身份验证模式是Windows身份验证,则在尝试连接当前用户的身份是否具有登录权限之前,您将无法知道。
如果身份验证模式为混合身份验证,则无法保证帐户&您指定的密码也可以使用 - 所以我认为您没有其他选择,只能使用反复试验。