Как я могу создать пользователя в OpenAM/OpenSSO с привилегией создания области (кроме amAdmin)? Нам нужна эта функция, чтобы наши b2b-пользователи могли по очереди создавать дочерние организации.
Как создать пользователя в OpenAM с привилегией создания области?
Ответы (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).
person
Peter Major
schedule
04.08.2017
realm1
), администратор может создавать области в своей области (например,/realm1/realm11
). Удовлетворяет ли он вашу просьбу? - person Kohei TAMURA   schedule 10.07.2017