2009-05-04 95 views
2

我真的想从C#/ .NET应用程序中使用SQL服务器,而不使用SQL-Server帐户或将受影响的计算机添加到相同的域或全部域或使用与域相同的登录名。来自不受信任的域的集成SQL服务器身份验证

没有任何办法吗?有人尝试使用MONO实施SSPI来做到这一点吗?

+1

我讨厌给出“负面”的答案,但我不认为这是可能的 - 也不是一个好主意。允许来自不可信域的访问将违反集成安全性和信任的整体概念。你为什么不想使用SQL-Server帐户? – NYSystemsAnalyst 2009-05-04 13:30:03

+0

这个问题已经影响了我好几次了。两个很好的例子: 1)我自己的移动电脑。它不是域的一部分。所以我必须在Visual Studio中使用例如sa帐户。要运行这些程序,我必须在交换机上加载来自MY硬盘的sa密码,同时部署的v使用sspi 2)我们希望从旧的生锈的Linux/Samba域迁移(它不能参与信任关系)到我们的并行Exchange AD域。我写的一些工具使用SSPI,我必须慢慢迁移到新系统。 3层应用程序会更容易,但我现在无法将其转换。 – Christian 2009-05-04 13:40:35

回答

2

要更改您的问题,您希望使用不带域的域身份验证。

不,这是不可能的。

您可以在域上设置它们并在域之间使用信任关系,也可以使用SQL身份验证。

0

您是否考虑过在应用程序中使用模拟?

+0

是的!我有!我在我的移动计算机上尝试了http://support.microsoft.com/kb/306158/en-us(Interop的最后一个:“在代码中模拟特定用户”)的示例代码,并将一些sqlconnection/sqlreader代码里面。但它失败了,因为我的电脑不能简单地模仿一些域帐户。该域帐户需要登录!而这在我的计算机上是不可能的,因为它没有连接到域 – Christian 2009-05-04 23:24:16