2017-07-06 46 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策略集下的隱藏領域下)。