【发布时间】:2019-06-14 07:49:39
【问题描述】:
我现在有点迷茫,我想在这里实现集中的用户管理,我们在 Linux 上托管了 .NET Core 2.1 Web MVC 应用程序,它使用Identity.EntityFrameworkCore 来存储用户信息。我们还有用于用户管理的 FreeIPA,它基本上是 LDAP 目录上的 Kerberos 身份验证。
由于它部署在 Linux 上,我不能使用 WindowsAuthentication 来使用 Kerberos,而且没有 Windows 兼容包也没有标准的 LDAP 使用方法。剩下的唯一方法是使用第三方库,但不幸的是我对 .NET Core 和 C# 真的很陌生,所以这就是我想要做的:
- 在 LDAP 中存储用户信息(roles\claims\credentials)以实现集中用户管理(现在使用数据库表)
- 我想实现 SSO,这可以通过 Kerberos 协商身份验证实现,但现在我找不到在 Linux 上使用它的方法。 app-> 重定向到 Keycloak -> Kerberos->OpenID Connect -> app 也是可能的,但我很高兴找到使用 Kerberos 的解决方案
好吧,我找到了一堆第三方库,比如 this、this 和一大堆 THIS,它们看起来都很有前途,但我没有找到任何有足够的文档或示例可供使用使用 .NET Core Identity。
正如我所说,我完全是 C# 和 .NET 的新手,不幸的是,我不知道这个库中哪个更好,或者是否有任何直接的方法来使用它们来存储并对用户进行身份验证。
P.S我知道这个问题很愚蠢,但出于学习目的,我不得不提出一个问题。对此的任何帮助将不胜感激!
【问题讨论】:
标签: c# .net-core asp.net-core-mvc openid-connect keycloak