4

我希望以下问题有意义:

  • 我在 ActiveDirectory 中管理我的用户。
  • 我通过 IdentityServer3 对它们进行身份验证。
  • 我通过用户所在的 AD 组授权 API(充当安全角色)。

我应该如何设置 IdentityServer3:

  1. 我必须使用我自己的自定义 UserService 来访问 ActiveDirectory 吗?
  2. 这是否取代了 MembershipReboot / AspNetIdentity 支持(或者我误解了 UserService 是什么)?
  3. 或者我应该使用 IdentityServer3 中的 MembershipReboot / AspNetIdentity 包之一,并以某种方式自定义它们以映射到 ActiveDirectory(如果是,如何)?
4

1 回答 1

1

似乎没有“映射”,不应该是从 AD 到会员重启或 aspidentity 或更新的身份重启用户存储的映射。原因似乎很简单:mr 和 aspid 或 ir 都是以持久方式(某种数据库或存储库)存储用户信息的方式,这在 AD 中已经完成。

用户服务就足够了。在客户端调用被“授权”属性“修饰”后或从 OP 返回后,它会导致 ASP 标识对象被填充,并且中间件按预期工作,正确且自动地调用用户身份验证和用户或资源授权(OpenID-Connect 提供者)或来自单独的授权或资源提供者,在安全调用中。

答案更新:现在在 IdentityServer4 中,UserService 已被弃用,而是使用 IResourceOwnerPasswordValidator。

有关工作代码和详细说明,请参见此处,在接受后的答案中(请投票) IdentityServer4注册UserService并从asp.net核心中的数据库获取用户

于 2015-11-29T12:16:30.400 回答