首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL Server集成安全性

问SQL Server集成安全性
EN

Stack Overflow用户
提问于 2012-05-25 09:43:17
回答 1查看 2.1K关注 0票数 0

我一直在努力寻找SQL Server中与安全相关的问题。我们正在开发一个针对Server 2008的.NET应用程序,我们希望使用FileStream。

现在,我发现Server只允许FileStream通过Win32 API,如果您使用集成安全性。问题是,我们已经完成了大约80%的应用程序,但它完全基于SQL身份验证。因此,我们正在执行INSERT的直接形式我们的应用程序,而不是使用存储过程的每一个CRUD操作。

这是相对安全的,因为我可以以加密的形式存储SQL用户名和密码。我知道密码是用明文传送的,但我愿意接受。

我们希望最终用户能够通过水晶报告之类的工具连接到数据库,并且为此我们有一个额外的SQL登录名,它只授予了选择权限。

现在,如果我们改变为集成安全,我们将不得不给个人用户(通过AD组,等等)。有权做应用程序可以做的事情。否则,应用程序将无法完成它的工作。但是,当最终用户直接连接到DB时,他也将拥有这些权利。

我看到有人说,您应该对每个CRUD操作使用存储过程,并且只授予AD组执行权限,但我怎么做呢?我不明白当用户直接或通过应用程序连接时,他将如何拥有不同的授权.有人能告诉我这个问题吗。

关于积分的额外问题:据我所知,集成安全性不会在工作组上工作。那么,人们如何让FileStream在工作组中工作呢?或者这被认为是不可能的?

EN

回答 1

Stack Overflow用户

发布于 2012-05-25 10:27:22

  1. 集成安全将在一个工作组中工作,使用遗留机制,在这两台机器上都有一个匹配的用户名和密码。此外,如果服务器具有匹配的用户account.
  2. Integrated安全甚至可以使用不匹配的用户名和密码,则域用户可以使用遗留机制登录到非域服务器。这可能对您的场景有所帮助。

试试这个:

代码语言:javascript
复制
NET USE \\DBSERVER /USER:DOMAIN\USERNAME 

您将被提示输入密码。这将与数据库服务器建立NetBIOS会话。完成此操作后,您应该能够看到数据库服务器上的共享文件夹和共享打印机。

一旦在客户端计算机和数据库服务器之间建立了netbios会话,您就可以使用集成安全性,而无需提示输入密码。

您可能需要指定“命名管道”作为网络协议来使用,如果它不能与TCP一起使用(但我认为它会)。命名管道继承了您现有的NetBIOS会话,因此,只要您能够列出您可能可以使用的共享。

您还可以使用windows函数NetUseAdd与包含密码的USE_INFO_2 (二级)信息建立登录会话。

我想简单的回答是,您可以为您的应用程序设置一个特殊的Windows登录,并让用户使用它进行登录。但是,请注意,它们也不能使用自己的用户名和密码连接到同一台服务器。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10752084

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档