【问题标题】:How to create a user in OpenAM with create realm privilege?如何在 OpenAM 中创建具有创建领域权限的用户?
【发布时间】:2017-07-06 08:16:14
【问题描述】:

如何在 OpenAM/OpenSSO 中创建具有创建领域权限的用户(amAdmin 除外)?我们需要这个功能来让我们的 b2b 用户能够依次创建子组织。

【问题讨论】:

  • 如果您创建了一个可以管理领域的委派管理员(例如,realm1),则该管理员可以在其领域下创建领域(例如,/realm1/realm11)。是否满足您的要求?

标签: directoryservices openam opensso


【解决方案1】:

一些委托 API 可通过 ClientSDK 使用,但如果内存为旧版本的 ClientSDK 提供服务,则需要在类路径中添加额外的服务器端库才能真正允许这些 API 工作。

通过 ClientSDK 创建委托管理员的本质是这样的:

  • 创建用户
  • 创建一个新组
  • 将用户添加到组中
  • 创建一个委派权限,授予对组的访问权限。

最后一部分的 Java 代码是:

DelegationManager delegationManager = new DelegationManager(adminToken, realmName);
Set<String> groups = Collections.singleton(group.getUniversalId());
DelegationPrivilege realmAdminPrivilege = new DelegationPrivilege("RealmAdmin", groups, realmName);
delegationManager.addPrivilege(realmAdminPrivilege);

在使用 REST API 时,我建议改为与策略交互(委托权限实际上只是存储在 sunAMDelegationService 策略集下的隐藏域下的“特殊”策略)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-07
    • 1970-01-01
    相关资源
    最近更新 更多