【问题标题】:Passing 'Windows Authentication' through REST API?通过 REST API 传递“Windows 身份验证”?
【发布时间】:2018-11-15 18:50:43
【问题描述】:

我有权访问仅允许“Windows 身份验证”的 SQL Server 数据库系统 - 即使用您的 Windows 登录凭据访问数据。 (不使用用户名密码)。它还控制数据库权限。

我想为不熟悉 SQL 的用户构建一个 REST API,以便从该服务器获取数据。问题是,我需要使用用户的凭据来执行命令,而不是托管 REST API 的机器。我如何设计允许用户传递他们的登录名并让 API 使用该特定登录名向服务器发送查询的系统?

我找到了来自 Microsoft 的参考资料,不确定是否相关。

https://docs.microsoft.com/en-us/sql/relational-databases/security/choose-an-authentication-mode?view=sql-server-2017

【问题讨论】:

  • 允许这样做的机制称为 Kerberos 委托。不,SQL Server 在这种情况下只是一个数据源,您不必对其配置进行任何更改(除了授予相应的 AD 用户权限之外)。
  • 嗨@RogerWolf。谢谢你的建议。您能否给我一个简短的框架/指南,我该如何实现这一目标?

标签: sql-server rest


【解决方案1】:

您所追求的是 Kerberos 委托,有时也称为“双跳”。只要您坚持使用 Microsoft 堆栈,就不必在代码中显式实现它;而是配置问题。

post 详细描述了该功能所需的设置。您还可以在this help article 中找到一些基本要求。除此之外的任何东西,只需谷歌它。

【讨论】:

  • 我在 Windows 机器上使用 Python (django) + SQL Server。您认为这很容易还是需要一些仔细的配置?谢谢。
  • @MTANG,您可能需要在代码中做/添加一些额外的事情,但不确定哪些 - 我不是真正的网络开发人员。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-16
  • 1970-01-01
  • 1970-01-01
  • 2015-04-01
  • 2017-02-04
相关资源
最近更新 更多