2017-07-06 114 views
0

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

+0

如果您创建了可以管理领域的委派管理员(例如'realm1'),管理员可以在他的领域(例如'/ realm1/realm11')下创建领域。它是否满足您的要求? –

回答

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策略集下的隐藏领域下)。