2015-04-01 65 views
0

我们聘请第三方为我们完成一个C#web项目,他们需要访问我们的SQL数据库。我们怎样才能隐藏我们的用户名和密码,但仍然给他们访问?是否可以隐藏第三方开发人员的SQL连接?

努力到目前为止,包括:

  • 创建WCF才意识到,我们没有托管我们的网站服务器的那么多的控制权。

  • 创建一个DLL,但能够通过在调试时在中断点处查看Watch窗口来查找实际的连接字符串。

  • 加密web配置中的连接字符串。通过在中断点使用Watch窗口,我可以找到解密的连接字符串。

回答

4

创建一个新数据库并更改用户名和密码,并让他们访问该数据库。

+0

如果我们只有一个数据库,您的答案会很容易。我们有数十个数据库通过一台服务器访问多个链接的服务器。 – programmer43229 2015-04-01 18:06:51

+0

而且你根本没有测试环境? – 2015-04-01 18:54:53

+0

我在谈论我们的测试环境。 – programmer43229 2015-04-01 19:09:09

0
  • 写一个新的类,给他们访问你的数据库(他们需要的关系)。
  • 在您的数据库中创建一些视图,以便他们可以访问一个没有那么多权限的新用户。
2

使用SSPI,例如Windows凭据,并授予承载进程访问权的用户。

听起来像它的一个网络应用程序,给予应用程序池帐户访问权限。

+0

正确...关于这是一个Web应用程序。另外,我不熟悉SSPI,并且在您回复之后一直在阅读它。 – programmer43229 2015-04-01 19:10:08

+1

这是正确答案 - 授予对其进程的Windows身份的访问权限,而不是提供用户名和密码。您也可以为他们的应用程序创建一个单独的应用程序池,以便不允许其他应用程序访问数据库。 – 2015-04-01 20:11:13

+1

基本上使用Windows验证。例如,不要传递用户名或密码 – 2015-04-01 20:25:56