gpt4 book ai didi

asp.net-core - IdentityServer4 和用户管理

转载 作者:行者123 更新时间:2023-12-01 04:34:42 32 4
gpt4 key购买 nike

我一直在网上寻找一些关于 IdentityServer4 的数据以及它的真正用途。

据我目前所了解的,IdentityServer4 是 token 颁发者,它是一个系统,它将保持特定客户端可以访问或不可以访问的资源之间的链接。因此,IdentityServer 将获取客户端标识以说明它是否有权访问此资源,或者它将获取用户标识(也称为邮件和密码)以获取 token 以说明用户是否已注册。

如果我没记错的话,这意味着用户存储必须靠近 IdentityServer 或者 IdentityServer 应该知道用户存储中所做的每一个修改。关于身份服务器的最新版本,我还没有找到一些有值(value)的东西。而且,好像IdentityServer需要AspNet Identity,这意味着信息会重复……

有什么我不明白或弄错了吗?如果没有,它是如何轻松实现的(考虑到我是从头开始,我必须迁移旧的旧用户存储)?

最佳答案

您有几个用户管理选项:

  • 正如你所说 - 使用 Asp NET Identity
  • 使用 Entity Framework
  • 使用自己创建的自定义逻辑

  • 选项 1 和 2 有很多示例和每个示例的快速入门,所以我不会深入那里。

    选项 3 - 自定义实现。我们最终得到了这一点。我们有很多自定义的东西(感觉与扩展/覆盖 EF 方法无关),我们不需要 Asp NET Identity,因此决定使用自定义实现。

    或多或少-我们有一个数据库,可以容纳我们的用户。用于访问 db 的 EF(与 PostgreSQL、SQL Server 等一起使用,因此您可以在这里自由发挥)和自定义服务,用于 CRUD 操作以及您的表所需的任何其他内容。

    IdentityServer 允许您连接它使用的几乎每个服务/存储的自定义实现:
    services.AddIdentityServer()
    .AddInMemoryCaching()
    .AddProfileService<ProfileService>()
    .AddClientStoreCache<ClientStore>()
    .AddResourceStoreCache<ApiResourceStore>()

    所有这些都是其接口(interface)的自定义实现。您还可以自由修改 AccountController ,实际登录发生的地方,因此您可以在那里连接您的用户服务,并检查您自己的数据库。

    所以基本上这里的方法取决于你,你的时间框架等。

    关于asp.net-core - IdentityServer4 和用户管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51384446/

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