SQL Server 集成安全性

2024-03-05

我一直在努力研究 SQL Server 中与安全相关的问题。 我们正在开发一个面向 SQL Server 2008 的 .NET 应用程序,并且我们希望使用 FileStream。

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

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

我们希望最终用户能够通过 Crystal Reports 等工具连接到数据库,为此我们有一个额外的 SQL 登录名,该登录名仅授予 SELECT 权限。

现在,如果我们更改为集成安全性,我们将必须授予个人用户(通过 AD 组等)执行应用程序可以执行的操作的权限。否则应用程序将无法完成其工作。但是,当最终用户直接连接到数据库时,他也将拥有这些权利。

我看到有人说您应该对每个 CRUD 操作使用存储过程,并仅向 AD 组授予 EXEC 权限,但我该怎么做呢?我不明白用户在直接连接或通过应用程序连接时如何拥有不同的授权......任何人都可以启发我这一点。

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


  1. 集成安全性将在工作组中工作,使用旧机制,您在两台计算机上拥有匹配的用户名和密码。此外,如果服务器具有匹配的用户帐户,则域用户可以使用旧机制登录到非域服务器。

  2. 集成安全性甚至可以处理不匹配的用户名和密码。这可能会对您的情况有所帮助。

尝试这个:

NET USE \\DBSERVER /USER:DOMAIN\USERNAME 

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

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

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

您还可以使用Windows API函数建立登录会话NetUseAdd with USE_INFO_2(级别 2)包含密码的信息。

我想简短的答案是,您可以为您的应用程序提供特殊的 Windows 登录,并让用户使用它登录。但请注意,他们也无法使用自己的用户名和密码连接到同一服务器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL Server 集成安全性 的相关文章

随机推荐

  • 西班牙 Windows 的字符集

    西班牙 Windows 的字符集是什么 Spanish es iso 8859 1 windows 1252
  • 有没有自动更新Javadoc的工具?

    我工作的代码库 很混乱 这种混乱的一方面是我们有大量方法 其签名不再与关联的 Javadoc 匹配 例如 param foo public void doFoo int bar 我不喜欢生成的 Javadoc 因为它几乎总是毫无价值 但我确
  • Android - Webview进度条

    我在网络视图上方添加了进度条 每当我单击链接时 我都会使进度条可见 我想让进度条覆盖在网络视图上 并且我想显示进度条的百分比 我知道css 但我不知道如何改变android中进度条的位置
  • 如何在 Perl 中刷新反引号中的输出?

    如果我有这个 Perl 应用程序 print someshellscript sh 它会打印一堆内容并且需要很长时间才能完成 我如何在 shell 脚本执行过程中打印该输出 看起来 Perl 只会在完成时打印 someshellscript
  • 如何将数据从一个视图控制器传递到另一个 SWIFT

    我正在制作一个应用程序 其中带有搜索栏和范围栏的表格视图必须连接到详细视图控制器 并且该详细视图控制器必须根据选择的单元格显示数据 我有一个数组 其中设置了用于排序和搜索项目的结构 我需要保留此功能 我的详细视图控制器有另一个 swift
  • 打印文本区域文本 - 全长(高度)?

    我有一个网络表单 我的客户希望用户能够打印出来 使用 CSS 进行一些样式设置就可以很好地工作 但是 我有几个textaear字段 如果用户键入的内容超过文本区域的高度 则打印时该类型将被截断 我努力了textarea height 100
  • D3 中的折线和图例间距

    我使用下面的示例 希望在饼图之外有图例 并且还具有文本的折线以及每个切片的计数和百分比 使用当前代码 我在饼内有饼图 当我将鼠标悬停在切片上时 会显示文本和百分比 非常感谢您的帮助 谢谢 有人可以帮忙吗 因为我无法继续前进
  • 获取 linq 返回 IEnumerable 结果

    如何将以下 SQL 查询转换为 C 中的 LINQ 我不需要两个表中的所有列 结果集应该是 IEnumerable
  • 管道转换后获取 ngFor 中数组的长度

    我有以下模板 div Here is the length of my ngFor l div 不幸的是 ngFor 中不存在长度 如何解决此问题以使 ngFor 中的长度可用 另一种解决方案可能如下 div Here is the len
  • 我可以将 sqlbulkcopy 与 Azure SQL Paas 结合使用吗?

    我可以将 sqlbulkcopy 与 Azure SQL Paas 结合使用吗 我有一个可以批量复制到数据库的应用程序 我们正在使用 SQL PaaS 对其进行测试 SQLBulkCopy 似乎失败了 我以为我读到某处不支持此功能 但在 A
  • Canvas对象标签:不是我最初给它的类型

    我有一个画布 我向其中添加各种对象 例如文本对象等 我向每个画布子对象添加 标签 属性 在下面的示例中 我为绝对支持的 tag 属性添加了一个字典 import tkinter window tkinter Tk myCanvas tkin
  • Facebook 点赞按钮显示所有 Facebook 页面的点赞数均为 0

    更新 所以这很大 如果您尝试使用 赞 按钮链接到任何 Facebook 页面 则不会起作用 尝试访问 Facebook 之类的创建页面 http developers facebook com docs reference plugins
  • 在 Perl 中比较字符串时如何忽略重音符号?

    我有这个测验应用程序 我将人们输入的内容与正确的答案相匹配 现在 我所做的基本上是 if input answer i print you won 这很好 就好像答案是 鱼 一样 用户可以输入 一条鱼 并被视为一个好的答案 我面临的问题是
  • 获取 C 字符串中索引引用的字符

    我有一根绳子 char foo abcdefgh 我想写一个for循环 一一打印出所有字符 a b c etc 这是在C中 好吧 这是一个问题 所以我要回答它 但我的答案会有点不寻常 include
  • 为什么 Int32.MaxValue = 2147483648? [复制]

    这个问题在这里已经有答案了 我想知道为什么 NET 中 Int32 的最大可能值是 2147483647 而不是 2147483648 因为 2 1 2147483648 谢谢 An Int32以32位存储 而不是31位 其范围的一半由负数
  • 在 Mac(Chrome 和 Safari)上,文字看起来比 PC 上更粗体,为什么?

    在查看不同的操作系统时 我注意到 尤其是在 Chrome 和 Safari 中 Mac Book 上的文字看起来比 PC 上的文字更粗体 是不是只有浏览器 Web 套件才具有解释 CSS 和 HTML 的能力 而操作系统本身却没有呢 如果上
  • r 将列数未知的长数据整形为宽数据

    我确信这是微不足道的 但我找不到如何做到这一点 我有一个数据框 其中有个人 每个人都可以有多个属性 并且每个属性都以多种方式分类 目前它是长条形的 记录看起来像这样 示意性的形式 实际上有点复杂 IndividualID Property
  • 好的Java图算法库吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新
  • 使用 Python 发送特定目录中文件更改的电子邮件通知

    我想编写一个在特定目录中查找的函数的脚本 对于文件 如果有新文件 应该发出通知邮件 我已经准备了一个脚本 它正在目录中查找新文件 它写道 有关新文件的通知进入控制台 但现在我想在有新文件到达时立即通过电子邮件通知 有人可以帮忙吗 impor
  • SQL Server 集成安全性

    我一直在努力研究 SQL Server 中与安全相关的问题 我们正在开发一个面向 SQL Server 2008 的 NET 应用程序 并且我们希望使用 FileStream 现在我发现 如果您使用集成安全性 SQL Server 只允许通