gpt4 book ai didi

c# - IdentityServer3 + Active Directory + 自托管用户数据库

转载 作者:行者123 更新时间:2023-11-30 16:01:19 25 4
gpt4 key购买 nike

我正试图找到一种解决方案来处理我的新应用程序的身份验证,我喜欢 IdentityServer3 的方法。我希望 IdentityServer3 能满足我的要求,这只是我对这项技术的新手缺乏了解。

我的要求如下,并按所需执行的顺序排列:1) 如果请求身份验证的用户是本地(域)用户,则应使用 Active Directory 自动对他们进行身份验证。2) 如果在 Active Directory 中找不到请求身份验证的用户,则应根据我们自己的用户表对他们进行身份验证。3) 如果请求身份验证的用户不属于任何一个授权机构,我们可能会选择通过 Google 或 Facebook 凭据授予访问权限,但这不是第一阶段的要求。

我目前有一个使用 IdentityServer3 作为独立安全服务器从 InMemoryUsers、InMemoryClients 和 InMemoryScopes 中提取记录的工作概念证明,我相当确定我将能够扩展这些概念以从我们自己的数据库中提取记录.

当我尝试使用 Active Directory 作为第一个检查点时出现此问题。

为了完成 Active Directory,我查看了一些资源,但我都被绊倒了,因为我没有看到任何显示 AD 拼图的简洁演示。

TJ Robinson有一个实现 IUserService 的 ActiveDirectoryUserService 的要点,这看起来是最有前途的,但由于我的 n00b 身份,我似乎无法弄清楚如何将它纳入方案。

我真的很感激任何建议,也许还有指向如何首先进行 AD 身份验证并回退到本地身份验证的示例的链接。

提前致谢,瑞克

最佳答案

关于您的第一个要求...

我相信你应该检查 Windows Authentication Service .这本质上是一个迷你安全 token 服务,可以作为 IdentityServer 的外部身份提供者来提供 Windows 身份验证(通过 WS-Fed 协议(protocol))。

如果您通过该链接访问 GitHub 页面,您将找到两个示例链接,您可以通过这些链接开始使用该组件。一个示例将 Identity Server 和 Windows 身份验证服务分开托管,另一个示例将它们托管在一起。

一个单独的选项可能是使用 ADFS(如果您有的话)作为外部身份提供者。

这些示例包括自定义用户服务 (ExternalRegistrationUserService),该服务显示那些 Windows 用户被映射到内存中的用户集合(在 Identity Server 中)。您的要求显然需要该用户服务的不同实现,但我希望这可以帮助您开始使用 Windows 身份验证部分。

当我最近完成这个练习时,我在 closed IdentityServer3 issues (for windows auth) 中发现了很多很好的信息。 .还有很多关于 Stack Overflow 的好信息;祝你好运!

关于c# - IdentityServer3 + Active Directory + 自托管用户数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38857194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com