【问题标题】:How to use Active Directory Authentication in ASP.NET Core?如何在 ASP.NET Core 中使用 Active Directory 身份验证?
【发布时间】:2018-12-10 14:33:35
【问题描述】:

我正在使用 ASP.NET Core 2.1 React SPA Microsoft 模板。

我想使用 Active Directory 进行用户身份验证。我们的服务器使用 Active Directory 域身份在公司网络上运行。

我该怎么做?

【问题讨论】:

  • 搜索您在此处发布的确切标题后在 google 上的第一个链接:docs.microsoft.com/en-us/aspnet/core/security/authentication/…
  • @FrankerZ。谢谢你的回答。我之前用过这个解决方案...
  • 如果您对该解决方案有特定的问题,请告诉我们您做了什么以及遇到了什么问题。否则,这个问题太宽泛了,任何人都无法给出合理的答案。
  • @GabrielLuci 当我在本地电脑(未加入域,仅启动测试)和 iis express 上测试此示例时,出现登录 windows 身份验证表单,但在导入用户名和密码后,登录失败(安全连接出现失败页面)

标签: active-directory asp.net-core-2.1


【解决方案1】:

最好的方法是使用Windows authentication。但是,只有在您运行它的服务器加入域(或受信任的域)时,这才有效。

如果不是,那么您将不得不使用表单身份验证,用户输入他们的用户名和密码,然后您通过 LDAP 在代码中针对 AD 进行身份验证。在 .NET Core 中有两种方法可以做到这一点:

  1. 如果您只在 Windows 服务器上运行它,那么您可以安装和使用 Microsoft.Windows.Compatibility NuGet 包。
  2. 使用第三方Novell.Directory.Ldap.NETStandard

this question 上有两个答案描述了如何实现这两种解决方案。

【讨论】:

  • 我认为 Windows 身份验证不是“最佳”方式 — 我的应用程序在 Windows 上运行,但我在 Linux 上开发,即使在我运行本地开发版本时,Windows 身份验证也可以工作,但它!当您未通过身份验证时,您必须在弹出窗口中提供您的凭据,而不是有一个漂亮的登录屏幕。所以,我不得不实现 Novell LDAP。
  • 至少在 Windows 上,浏览器可以设置为自动将当前登录用户的凭据发送到使用 Windows 身份验证的网站,因此他们不必输入用户名/密码任何地方。对于 IE 和 Chrome,该站点必须位于 Internet 选项中的受信任站点中。 Firefox 有自己的设置。
猜你喜欢
  • 1970-01-01
  • 2022-10-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-16
  • 2013-04-25
相关资源
最近更新 更多