【问题标题】:C# with SQL Server using Windows authentication [closed]C# 与使用 Windows 身份验证的 SQL Server [关闭]
【发布时间】:2021-04-12 19:40:58
【问题描述】:

我在为仅使用带有 Windows 身份验证的 SQL Server 的客户端开发应用程序时遇到问题,因此情况是 Active Directory 中有许多 Windows 帐户可以访问数据库并且某些应用程序正在使用这些帐户。

我的问题是我必须开发一个 C# 应用程序,该应用程序必须使用 SqlTableDependency 对特定表进行任何修改,访问数据库的唯一方法是使用管理员帐户;有没有办法定义任何已定义的帐户以使用 Windows 身份验证进行连接,以便用户执行开发的应用程序?

非常感谢。

【问题讨论】:

  • Windows 身份验证与否,访问数据库的用户必须具有 enoghu 权限才能执行客户端程序所需的任何操作。
  • 只需将您的用户 AD 帐户添加到授予 SQL Server 上所需的最低权限的 AD 组。
  • 不,我做了一些测试,他们没有访问数据库的权限
  • 嗯,是的,您必须让 IT 部门向他们授予权限。

标签: c# sql-server windows-authentication


【解决方案1】:

你对SqlTableDependency做出这样的断言:

访问数据库的唯一方法是使用管理员帐户

但这是不正确的。 任何帐户都可以这样做,无论它使用何种身份验证,只要授予了所需的安全权限。您将需要找出此项目使用的确切权限,并与您的客户沟通,将这些权限授予他们的用户。

此时,您的客户很可能会感到不自在……他们可能没有意识到自己的要求!但没关系。现在,您可以就他们的需求进行真正的对话。也许他们需要一个特殊的(基于 sql-auth 的)服务帐户。或者他们可能想要更改架构,以便在服务器上作为后台任务运行。没关系:重要的是您和客户现在正在就应用程序做出更明智的决定。

【讨论】:

  • 感谢您的回复,但此应用程序用于审计客户和其他东西,它必须在审计部门的桌面应用程序中,而不是在服务器中
  • 没关系。再次......这是与客户交谈的理由。如果应用程序有特殊用途,它可能需要特殊的安全处理,其中可能包括专用的 sql auth 帐户,或授予所需权限的特殊 Active Directory 用户。但是Administrator/sa 帐户绝不是解决方案。
猜你喜欢
  • 1970-01-01
  • 2023-03-05
  • 1970-01-01
  • 2023-03-19
  • 2013-01-04
  • 2019-03-06
  • 2017-11-18
  • 2011-04-10
  • 1970-01-01
相关资源
最近更新 更多