keycloak-service
公開メンバ関数 | 静的公開メンバ関数 | 静的公開変数類 | 限定公開変数類 | 非公開メンバ関数 | 静的非公開メンバ関数 | 静的非公開変数類 | 全メンバ一覧
org.keycloak.services.resources.admin.permissions.GroupPermissions クラス
org.keycloak.services.resources.admin.permissions.GroupPermissions の継承関係図
Inheritance graph
org.keycloak.services.resources.admin.permissions.GroupPermissions 連携図
Collaboration graph

公開メンバ関数

 GroupPermissions (KeycloakSession session, RealmModel realm, AuthorizationProvider authz, MgmtPermissions root)
 
boolean canList ()
 
void requireList ()
 
boolean isPermissionsEnabled (GroupModel group)
 
void setPermissionsEnabled (GroupModel group, boolean enable)
 
Policy viewMembersPermission (GroupModel group)
 
Policy manageMembersPermission (GroupModel group)
 
Policy manageMembershipPermission (GroupModel group)
 
Policy viewPermission (GroupModel group)
 
Policy managePermission (GroupModel group)
 
Resource resource (GroupModel group)
 
Map< String, String > getPermissions (GroupModel group)
 
boolean canManage (GroupModel group)
 
void requireManage (GroupModel group)
 
boolean canView (GroupModel group)
 
void requireView (GroupModel group)
 
boolean canManage ()
 
void requireManage ()
 
boolean canView ()
 
void requireView ()
 
boolean canViewMembers (GroupModel group)
 
void requireViewMembers (GroupModel group)
 
boolean canManageMembers (GroupModel group)
 
void requireManageMembers (GroupModel group)
 
boolean canManageMembership (GroupModel group)
 
void requireManageMembership (GroupModel group)
 
Map< String, Boolean > getAccess (GroupModel group)
 

静的公開メンバ関数

static String getManagePermissionGroup (GroupModel group)
 
static String getManageMembersPermissionGroup (GroupModel group)
 
static String getManageMembershipPermissionGroup (GroupModel group)
 
static String getViewPermissionGroup (GroupModel group)
 
static String getViewMembersPermissionGroup (GroupModel group)
 

静的公開変数類

static final String MAP_ROLE_SCOPE = "map-role"
 
static final String MANAGE_MEMBERSHIP_SCOPE = "manage-membership"
 
static final String MANAGE_MEMBERS_SCOPE = "manage-members"
 
static final String VIEW_MEMBERS_SCOPE = "view-members"
 

限定公開変数類

final KeycloakSession session
 
final RealmModel realm
 
final AuthorizationProvider authz
 
final MgmtPermissions root
 

非公開メンバ関数

void initialize (GroupModel group)
 
Resource groupResource (GroupModel group)
 
void deletePermissions (GroupModel group)
 
boolean hasView (GroupModel group)
 
boolean canViewMembersEvaluation (GroupModel group)
 

静的非公開メンバ関数

static String getGroupResourceName (GroupModel group)
 

静的非公開変数類

static final Logger logger = Logger.getLogger(GroupPermissions.class)
 

詳解

著者
Bill Burke
バージョン
Revision
1

構築子と解体子

◆ GroupPermissions()

org.keycloak.services.resources.admin.permissions.GroupPermissions.GroupPermissions ( KeycloakSession  session,
RealmModel  realm,
AuthorizationProvider  authz,
MgmtPermissions  root 
)
inline
52  {
53  this.session = session;
54  this.realm = realm;
55  this.authz = authz;
56  this.root = root;
57  }
final AuthorizationProvider authz
Definition: GroupPermissions.java:49
final KeycloakSession session
Definition: GroupPermissions.java:47
final MgmtPermissions root
Definition: GroupPermissions.java:50
final RealmModel realm
Definition: GroupPermissions.java:48

関数詳解

◆ canList()

boolean org.keycloak.services.resources.admin.permissions.GroupPermissions.canList ( )
inline

org.keycloak.services.resources.admin.permissions.GroupPermissionEvaluatorを実装しています。

135  {
136  return root.hasOneAdminRole(AdminRoles.VIEW_USERS, AdminRoles.MANAGE_USERS, AdminRoles.QUERY_GROUPS);
137  }
boolean hasOneAdminRole(String... adminRoles)
Definition: MgmtPermissions.java:155
final MgmtPermissions root
Definition: GroupPermissions.java:50

◆ canManage() [1/2]

boolean org.keycloak.services.resources.admin.permissions.GroupPermissions.canManage ( GroupModel  group)
inline

org.keycloak.services.resources.admin.permissions.GroupPermissionEvaluatorを実装しています。

264  {
265  if (canManage()) return true;
266  if (!root.isAdminSameRealm()) {
267  return false;
268  }
269 
270  ResourceServer server = root.realmResourceServer();
271  if (server == null) return false;
272 
273  Resource resource = authz.getStoreFactory().getResourceStore().findByName(getGroupResourceName(group), server.getId());
274  if (resource == null) return false;
275 
276  Policy policy = managePermission(group);
277  if (policy == null) {
278  return false;
279  }
280 
281  Set<Policy> associatedPolicies = policy.getAssociatedPolicies();
282  // if no policies attached to permission then just do default behavior
283  if (associatedPolicies == null || associatedPolicies.isEmpty()) {
284  return false;
285  }
286 
287  Scope scope = root.realmManageScope();
288  return root.evaluatePermission(resource, scope, server);
289  }
static String getGroupResourceName(GroupModel group)
Definition: GroupPermissions.java:59
boolean canManage()
Definition: GroupPermissions.java:338
final AuthorizationProvider authz
Definition: GroupPermissions.java:49
Scope realmManageScope()
Definition: MgmtPermissions.java:297
Resource resource(GroupModel group)
Definition: GroupPermissions.java:240
boolean isAdminSameRealm()
Definition: MgmtPermissions.java:178
final MgmtPermissions root
Definition: GroupPermissions.java:50
ResourceServer realmResourceServer
Definition: MgmtPermissions.java:62
boolean evaluatePermission(Resource resource, Scope scope, ResourceServer resourceServer)
Definition: MgmtPermissions.java:316
Policy managePermission(GroupModel group)
Definition: GroupPermissions.java:232

◆ canManage() [2/2]

boolean org.keycloak.services.resources.admin.permissions.GroupPermissions.canManage ( )
inline

org.keycloak.services.resources.admin.permissions.GroupPermissionEvaluatorを実装しています。

338  {
339  return root.users().canManageDefault();
340  }
UserPermissions users
Definition: MgmtPermissions.java:63
boolean canManageDefault()
Definition: UserPermissions.java:203
final MgmtPermissions root
Definition: GroupPermissions.java:50

◆ canManageMembers()

boolean org.keycloak.services.resources.admin.permissions.GroupPermissions.canManageMembers ( GroupModel  group)
inline

org.keycloak.services.resources.admin.permissions.GroupPermissionEvaluatorを実装しています。

406  {
407  if (root.users().canManage()) return true;
408 
409  if (!root.isAdminSameRealm()) {
410  return false;
411  }
412 
413  ResourceServer server = root.realmResourceServer();
414  if (server == null) return false;
415 
416  Resource resource = authz.getStoreFactory().getResourceStore().findByName(getGroupResourceName(group), server.getId());
417  if (resource == null) return false;
418 
419  Policy policy = manageMembersPermission(group);
420  if (policy == null) {
421  return false;
422  }
423 
424  Set<Policy> associatedPolicies = policy.getAssociatedPolicies();
425  // if no policies attached to permission then just do default behavior
426  if (associatedPolicies == null || associatedPolicies.isEmpty()) {
427  return false;
428  }
429 
430  Scope scope = authz.getStoreFactory().getScopeStore().findByName(MANAGE_MEMBERS_SCOPE, server.getId());
431  return root.evaluatePermission(resource, scope, server);
432  }
static String getGroupResourceName(GroupModel group)
Definition: GroupPermissions.java:59
final AuthorizationProvider authz
Definition: GroupPermissions.java:49
Resource resource(GroupModel group)
Definition: GroupPermissions.java:240
UserPermissions users
Definition: MgmtPermissions.java:63
boolean isAdminSameRealm()
Definition: MgmtPermissions.java:178
static final String MANAGE_MEMBERS_SCOPE
Definition: GroupPermissions.java:45
final MgmtPermissions root
Definition: GroupPermissions.java:50
Policy manageMembersPermission(GroupModel group)
Definition: GroupPermissions.java:208
boolean canManage()
Definition: UserPermissions.java:268
ResourceServer realmResourceServer
Definition: MgmtPermissions.java:62
boolean evaluatePermission(Resource resource, Scope scope, ResourceServer resourceServer)
Definition: MgmtPermissions.java:316

◆ canManageMembership()

boolean org.keycloak.services.resources.admin.permissions.GroupPermissions.canManageMembership ( GroupModel  group)
inline

org.keycloak.services.resources.admin.permissions.GroupPermissionEvaluatorを実装しています。

442  {
443  if (canManage(group)) return true;
444 
445  if (!root.isAdminSameRealm()) {
446  return false;
447  }
448 
449  ResourceServer server = root.realmResourceServer();
450  if (server == null) return false;
451 
452  Resource resource = authz.getStoreFactory().getResourceStore().findByName(getGroupResourceName(group), server.getId());
453  if (resource == null) return false;
454 
455  Policy policy = manageMembershipPermission(group);
456  if (policy == null) {
457  return false;
458  }
459 
460  Set<Policy> associatedPolicies = policy.getAssociatedPolicies();
461  // if no policies attached to permission then just do default behavior
462  if (associatedPolicies == null || associatedPolicies.isEmpty()) {
463  return false;
464  }
465 
466  Scope scope = authz.getStoreFactory().getScopeStore().findByName(MANAGE_MEMBERSHIP_SCOPE, server.getId());
467  return root.evaluatePermission(resource, scope, server);
468  }
static String getGroupResourceName(GroupModel group)
Definition: GroupPermissions.java:59
boolean canManage()
Definition: GroupPermissions.java:338
final AuthorizationProvider authz
Definition: GroupPermissions.java:49
Resource resource(GroupModel group)
Definition: GroupPermissions.java:240
boolean isAdminSameRealm()
Definition: MgmtPermissions.java:178
final MgmtPermissions root
Definition: GroupPermissions.java:50
ResourceServer realmResourceServer
Definition: MgmtPermissions.java:62
boolean evaluatePermission(Resource resource, Scope scope, ResourceServer resourceServer)
Definition: MgmtPermissions.java:316
static final String MANAGE_MEMBERSHIP_SCOPE
Definition: GroupPermissions.java:44
Policy manageMembershipPermission(GroupModel group)
Definition: GroupPermissions.java:216

◆ canView() [1/2]

boolean org.keycloak.services.resources.admin.permissions.GroupPermissions.canView ( GroupModel  group)
inline

org.keycloak.services.resources.admin.permissions.GroupPermissionEvaluatorを実装しています。

298  {
299  return hasView(group) || canManage(group);
300  }
boolean canManage()
Definition: GroupPermissions.java:338
boolean hasView(GroupModel group)
Definition: GroupPermissions.java:302

◆ canView() [2/2]

boolean org.keycloak.services.resources.admin.permissions.GroupPermissions.canView ( )
inline

org.keycloak.services.resources.admin.permissions.GroupPermissionEvaluatorを実装しています。

349  {
350  return root.users().canViewDefault();
351  }
UserPermissions users
Definition: MgmtPermissions.java:63
boolean canViewDefault()
Definition: UserPermissions.java:375
final MgmtPermissions root
Definition: GroupPermissions.java:50

◆ canViewMembers()

boolean org.keycloak.services.resources.admin.permissions.GroupPermissions.canViewMembers ( GroupModel  group)
inline

org.keycloak.services.resources.admin.permissions.GroupPermissionEvaluatorを実装しています。

363  {
364  return canViewMembersEvaluation(group) || canManageMembers(group);
365  }
boolean canManageMembers(GroupModel group)
Definition: GroupPermissions.java:406
boolean canViewMembersEvaluation(GroupModel group)
Definition: GroupPermissions.java:367

◆ canViewMembersEvaluation()

boolean org.keycloak.services.resources.admin.permissions.GroupPermissions.canViewMembersEvaluation ( GroupModel  group)
inlineprivate
367  {
368  if (root.users().canView()) return true;
369 
370  if (!root.isAdminSameRealm()) {
371  return false;
372  }
373 
374  ResourceServer server = root.realmResourceServer();
375  if (server == null) return false;
376 
377  Resource resource = authz.getStoreFactory().getResourceStore().findByName(getGroupResourceName(group), server.getId());
378  if (resource == null) return false;
379 
380  Policy policy = viewMembersPermission(group);
381  if (policy == null) {
382  return false;
383  }
384 
385  Set<Policy> associatedPolicies = policy.getAssociatedPolicies();
386  // if no policies attached to permission then just do default behavior
387  if (associatedPolicies == null || associatedPolicies.isEmpty()) {
388  return false;
389  }
390 
391  Scope scope = authz.getStoreFactory().getScopeStore().findByName(VIEW_MEMBERS_SCOPE, server.getId());
392 
393  return root.evaluatePermission(resource, scope, server);
394  }
static String getGroupResourceName(GroupModel group)
Definition: GroupPermissions.java:59
boolean canView()
Definition: UserPermissions.java:420
final AuthorizationProvider authz
Definition: GroupPermissions.java:49
Resource resource(GroupModel group)
Definition: GroupPermissions.java:240
UserPermissions users
Definition: MgmtPermissions.java:63
static final String VIEW_MEMBERS_SCOPE
Definition: GroupPermissions.java:46
boolean isAdminSameRealm()
Definition: MgmtPermissions.java:178
final MgmtPermissions root
Definition: GroupPermissions.java:50
ResourceServer realmResourceServer
Definition: MgmtPermissions.java:62
boolean evaluatePermission(Resource resource, Scope scope, ResourceServer resourceServer)
Definition: MgmtPermissions.java:316
Policy viewMembersPermission(GroupModel group)
Definition: GroupPermissions.java:200

◆ deletePermissions()

void org.keycloak.services.resources.admin.permissions.GroupPermissions.deletePermissions ( GroupModel  group)
inlineprivate
172  {
173  ResourceServer server = root.realmResourceServer();
174  if (server == null) return;
175  Policy managePermission = managePermission(group);
176  if (managePermission != null) {
177  authz.getStoreFactory().getPolicyStore().delete(managePermission.getId());
178  }
179  Policy viewPermission = viewPermission(group);
180  if (viewPermission != null) {
181  authz.getStoreFactory().getPolicyStore().delete(viewPermission.getId());
182  }
184  if (manageMembersPermission != null) {
185  authz.getStoreFactory().getPolicyStore().delete(manageMembersPermission.getId());
186  }
188  if (viewMembersPermission != null) {
189  authz.getStoreFactory().getPolicyStore().delete(viewMembersPermission.getId());
190  }
192  if (manageMembershipPermission != null) {
193  authz.getStoreFactory().getPolicyStore().delete(manageMembershipPermission.getId());
194  }
195  Resource resource = groupResource(group);
196  if (resource != null) authz.getStoreFactory().getResourceStore().delete(resource.getId());
197  }
Resource groupResource(GroupModel group)
Definition: GroupPermissions.java:156
final AuthorizationProvider authz
Definition: GroupPermissions.java:49
Resource resource(GroupModel group)
Definition: GroupPermissions.java:240
Policy viewPermission(GroupModel group)
Definition: GroupPermissions.java:224
final MgmtPermissions root
Definition: GroupPermissions.java:50
Policy manageMembersPermission(GroupModel group)
Definition: GroupPermissions.java:208
ResourceServer realmResourceServer
Definition: MgmtPermissions.java:62
Policy managePermission(GroupModel group)
Definition: GroupPermissions.java:232
Policy viewMembersPermission(GroupModel group)
Definition: GroupPermissions.java:200
Policy manageMembershipPermission(GroupModel group)
Definition: GroupPermissions.java:216

◆ getAccess()

Map<String, Boolean> org.keycloak.services.resources.admin.permissions.GroupPermissions.getAccess ( GroupModel  group)
inline

org.keycloak.services.resources.admin.permissions.GroupPermissionEvaluatorを実装しています。

478  {
479  Map<String, Boolean> map = new HashMap<>();
480  map.put("view", canView(group));
481  map.put("manage", canManage(group));
482  map.put("manageMembership", canManageMembership(group));
483  return map;
484  }
boolean canManage()
Definition: GroupPermissions.java:338
boolean canView()
Definition: GroupPermissions.java:349
boolean canManageMembership(GroupModel group)
Definition: GroupPermissions.java:442

◆ getGroupResourceName()

static String org.keycloak.services.resources.admin.permissions.GroupPermissions.getGroupResourceName ( GroupModel  group)
inlinestaticprivate
59  {
60  return "group.resource." + group.getId();
61  }

◆ getManageMembershipPermissionGroup()

static String org.keycloak.services.resources.admin.permissions.GroupPermissions.getManageMembershipPermissionGroup ( GroupModel  group)
inlinestatic
72  {
73  return "manage.membership.permission.group." + group.getId();
74  }

◆ getManageMembersPermissionGroup()

static String org.keycloak.services.resources.admin.permissions.GroupPermissions.getManageMembersPermissionGroup ( GroupModel  group)
inlinestatic
68  {
69  return "manage.members.permission.group." + group.getId();
70  }

◆ getManagePermissionGroup()

static String org.keycloak.services.resources.admin.permissions.GroupPermissions.getManagePermissionGroup ( GroupModel  group)
inlinestatic
64  {
65  return "manage.permission.group." + group.getId();
66  }

◆ getPermissions()

Map<String, String> org.keycloak.services.resources.admin.permissions.GroupPermissions.getPermissions ( GroupModel  group)
inline

org.keycloak.services.resources.admin.permissions.GroupPermissionManagementを実装しています。

249  {
250  initialize(group);
251  Map<String, String> scopes = new LinkedHashMap<>();
252  scopes.put(AdminPermissionManagement.VIEW_SCOPE, viewPermission(group).getId());
253  scopes.put(AdminPermissionManagement.MANAGE_SCOPE, managePermission(group).getId());
254  scopes.put(VIEW_MEMBERS_SCOPE, viewMembersPermission(group).getId());
255  scopes.put(MANAGE_MEMBERS_SCOPE, manageMembersPermission(group).getId());
256  scopes.put(MANAGE_MEMBERSHIP_SCOPE, manageMembershipPermission(group).getId());
257  return scopes;
258  }
void initialize(GroupModel group)
Definition: GroupPermissions.java:84
static final String VIEW_MEMBERS_SCOPE
Definition: GroupPermissions.java:46
Policy viewPermission(GroupModel group)
Definition: GroupPermissions.java:224
static final String MANAGE_MEMBERS_SCOPE
Definition: GroupPermissions.java:45
Policy manageMembersPermission(GroupModel group)
Definition: GroupPermissions.java:208
static final String MANAGE_MEMBERSHIP_SCOPE
Definition: GroupPermissions.java:44
Policy managePermission(GroupModel group)
Definition: GroupPermissions.java:232
Policy viewMembersPermission(GroupModel group)
Definition: GroupPermissions.java:200
Policy manageMembershipPermission(GroupModel group)
Definition: GroupPermissions.java:216

◆ getViewMembersPermissionGroup()

static String org.keycloak.services.resources.admin.permissions.GroupPermissions.getViewMembersPermissionGroup ( GroupModel  group)
inlinestatic
80  {
81  return "view.members.permission.group." + group.getId();
82  }

◆ getViewPermissionGroup()

static String org.keycloak.services.resources.admin.permissions.GroupPermissions.getViewPermissionGroup ( GroupModel  group)
inlinestatic
76  {
77  return "view.permission.group." + group.getId();
78  }

◆ groupResource()

Resource org.keycloak.services.resources.admin.permissions.GroupPermissions.groupResource ( GroupModel  group)
inlineprivate
156  {
157  ResourceServer server = root.realmResourceServer();
158  if (server == null) return null;
159  String groupResourceName = getGroupResourceName(group);
160  return authz.getStoreFactory().getResourceStore().findByName(groupResourceName, server.getId());
161  }
static String getGroupResourceName(GroupModel group)
Definition: GroupPermissions.java:59
final AuthorizationProvider authz
Definition: GroupPermissions.java:49
final MgmtPermissions root
Definition: GroupPermissions.java:50
ResourceServer realmResourceServer
Definition: MgmtPermissions.java:62

◆ hasView()

boolean org.keycloak.services.resources.admin.permissions.GroupPermissions.hasView ( GroupModel  group)
inlineprivate
302  {
303  if (canView()) return true;
304 
305  if (!root.isAdminSameRealm()) {
306  return false;
307  }
308 
309  ResourceServer server = root.realmResourceServer();
310  if (server == null) return false;
311 
312  Resource resource = authz.getStoreFactory().getResourceStore().findByName(getGroupResourceName(group), server.getId());
313  if (resource == null) return false;
314 
315  Policy policy = viewPermission(group);
316  if (policy == null) {
317  return false;
318  }
319 
320  Set<Policy> associatedPolicies = policy.getAssociatedPolicies();
321  // if no policies attached to permission then abort
322  if (associatedPolicies == null || associatedPolicies.isEmpty()) {
323  return false;
324  }
325 
326  Scope scope = root.realmViewScope();
327  return root.evaluatePermission(resource, scope, server);
328  }
static String getGroupResourceName(GroupModel group)
Definition: GroupPermissions.java:59
final AuthorizationProvider authz
Definition: GroupPermissions.java:49
Resource resource(GroupModel group)
Definition: GroupPermissions.java:240
Policy viewPermission(GroupModel group)
Definition: GroupPermissions.java:224
boolean canView()
Definition: GroupPermissions.java:349
boolean isAdminSameRealm()
Definition: MgmtPermissions.java:178
final MgmtPermissions root
Definition: GroupPermissions.java:50
Scope realmViewScope()
Definition: MgmtPermissions.java:304
ResourceServer realmResourceServer
Definition: MgmtPermissions.java:62
boolean evaluatePermission(Resource resource, Scope scope, ResourceServer resourceServer)
Definition: MgmtPermissions.java:316

◆ initialize()

void org.keycloak.services.resources.admin.permissions.GroupPermissions.initialize ( GroupModel  group)
inlineprivate
84  {
87  ResourceServer server = root.realmResourceServer();
88  Scope manageScope = root.realmManageScope();
89  Scope viewScope = root.realmViewScope();
90  Scope manageMembersScope = root.initializeRealmScope(MANAGE_MEMBERS_SCOPE);
91  Scope viewMembersScope = root.initializeRealmScope(VIEW_MEMBERS_SCOPE);
92  Scope manageMembershipScope = root.initializeRealmScope(MANAGE_MEMBERSHIP_SCOPE);
93 
94  String groupResourceName = getGroupResourceName(group);
95  Resource groupResource = authz.getStoreFactory().getResourceStore().findByName(groupResourceName, server.getId());
96  if (groupResource == null) {
97  groupResource = authz.getStoreFactory().getResourceStore().create(groupResourceName, server, server.getId());
98  Set<Scope> scopeset = new HashSet<>();
99  scopeset.add(manageScope);
100  scopeset.add(viewScope);
101  scopeset.add(viewMembersScope);
102  scopeset.add(manageMembershipScope);
103  scopeset.add(manageMembersScope);
104  groupResource.updateScopes(scopeset);
105  }
106  String managePermissionName = getManagePermissionGroup(group);
107  Policy managePermission = authz.getStoreFactory().getPolicyStore().findByName(managePermissionName, server.getId());
108  if (managePermission == null) {
109  Helper.addEmptyScopePermission(authz, server, managePermissionName, groupResource, manageScope);
110  }
111  String viewPermissionName = getViewPermissionGroup(group);
112  Policy viewPermission = authz.getStoreFactory().getPolicyStore().findByName(viewPermissionName, server.getId());
113  if (viewPermission == null) {
114  Helper.addEmptyScopePermission(authz, server, viewPermissionName, groupResource, viewScope);
115  }
116  String manageMembersPermissionName = getManageMembersPermissionGroup(group);
117  Policy manageMembersPermission = authz.getStoreFactory().getPolicyStore().findByName(manageMembersPermissionName, server.getId());
118  if (manageMembersPermission == null) {
119  Helper.addEmptyScopePermission(authz, server, manageMembersPermissionName, groupResource, manageMembersScope);
120  }
121  String viewMembersPermissionName = getViewMembersPermissionGroup(group);
122  Policy viewMembersPermission = authz.getStoreFactory().getPolicyStore().findByName(viewMembersPermissionName, server.getId());
123  if (viewMembersPermission == null) {
124  Helper.addEmptyScopePermission(authz, server, viewMembersPermissionName, groupResource, viewMembersScope);
125  }
126  String manageMembershipPermissionName = getManageMembershipPermissionGroup(group);
127  Policy manageMembershipPermission = authz.getStoreFactory().getPolicyStore().findByName(manageMembershipPermissionName, server.getId());
128  if (manageMembershipPermission == null) {
129  Helper.addEmptyScopePermission(authz, server, manageMembershipPermissionName, groupResource, manageMembershipScope);
130  }
131 
132  }
static String getManageMembershipPermissionGroup(GroupModel group)
Definition: GroupPermissions.java:72
static String getGroupResourceName(GroupModel group)
Definition: GroupPermissions.java:59
Resource groupResource(GroupModel group)
Definition: GroupPermissions.java:156
final AuthorizationProvider authz
Definition: GroupPermissions.java:49
ResourceServer initializeRealmResourceServer()
Definition: MgmtPermissions.java:259
Scope realmManageScope()
Definition: MgmtPermissions.java:297
static String getViewMembersPermissionGroup(GroupModel group)
Definition: GroupPermissions.java:80
static String getManagePermissionGroup(GroupModel group)
Definition: GroupPermissions.java:64
static final String VIEW_MEMBERS_SCOPE
Definition: GroupPermissions.java:46
Policy viewPermission(GroupModel group)
Definition: GroupPermissions.java:224
static final String MANAGE_MEMBERS_SCOPE
Definition: GroupPermissions.java:45
Scope initializeRealmScope(String name)
Definition: MgmtPermissions.java:278
final MgmtPermissions root
Definition: GroupPermissions.java:50
Scope realmViewScope()
Definition: MgmtPermissions.java:304
Policy manageMembersPermission(GroupModel group)
Definition: GroupPermissions.java:208
static String getManageMembersPermissionGroup(GroupModel group)
Definition: GroupPermissions.java:68
ResourceServer realmResourceServer
Definition: MgmtPermissions.java:62
void initializeRealmDefaultScopes()
Definition: MgmtPermissions.java:272
static final String MANAGE_MEMBERSHIP_SCOPE
Definition: GroupPermissions.java:44
static String getViewPermissionGroup(GroupModel group)
Definition: GroupPermissions.java:76
Policy managePermission(GroupModel group)
Definition: GroupPermissions.java:232
Policy viewMembersPermission(GroupModel group)
Definition: GroupPermissions.java:200
Policy manageMembershipPermission(GroupModel group)
Definition: GroupPermissions.java:216

◆ isPermissionsEnabled()

boolean org.keycloak.services.resources.admin.permissions.GroupPermissions.isPermissionsEnabled ( GroupModel  group)
inline

org.keycloak.services.resources.admin.permissions.GroupPermissionManagementを実装しています。

149  {
150  ResourceServer server = root.realmResourceServer();
151  if (server == null) return false;
152 
153  return authz.getStoreFactory().getResourceStore().findByName(getGroupResourceName(group), server.getId()) != null;
154  }
static String getGroupResourceName(GroupModel group)
Definition: GroupPermissions.java:59
final AuthorizationProvider authz
Definition: GroupPermissions.java:49
final MgmtPermissions root
Definition: GroupPermissions.java:50
ResourceServer realmResourceServer
Definition: MgmtPermissions.java:62

◆ manageMembershipPermission()

Policy org.keycloak.services.resources.admin.permissions.GroupPermissions.manageMembershipPermission ( GroupModel  group)
inline

org.keycloak.services.resources.admin.permissions.GroupPermissionManagementを実装しています。

216  {
217  ResourceServer server = root.realmResourceServer();
218  if (server == null) return null;
219  String manageMembershipPermissionName = getManageMembershipPermissionGroup(group);
220  return authz.getStoreFactory().getPolicyStore().findByName(manageMembershipPermissionName, server.getId());
221  }
static String getManageMembershipPermissionGroup(GroupModel group)
Definition: GroupPermissions.java:72
final AuthorizationProvider authz
Definition: GroupPermissions.java:49
final MgmtPermissions root
Definition: GroupPermissions.java:50
ResourceServer realmResourceServer
Definition: MgmtPermissions.java:62

◆ manageMembersPermission()

Policy org.keycloak.services.resources.admin.permissions.GroupPermissions.manageMembersPermission ( GroupModel  group)
inline

org.keycloak.services.resources.admin.permissions.GroupPermissionManagementを実装しています。

208  {
209  ResourceServer server = root.realmResourceServer();
210  if (server == null) return null;
211  String manageMembersPermissionName = getManageMembersPermissionGroup(group);
212  return authz.getStoreFactory().getPolicyStore().findByName(manageMembersPermissionName, server.getId());
213  }
final AuthorizationProvider authz
Definition: GroupPermissions.java:49
final MgmtPermissions root
Definition: GroupPermissions.java:50
static String getManageMembersPermissionGroup(GroupModel group)
Definition: GroupPermissions.java:68
ResourceServer realmResourceServer
Definition: MgmtPermissions.java:62

◆ managePermission()

Policy org.keycloak.services.resources.admin.permissions.GroupPermissions.managePermission ( GroupModel  group)
inline

org.keycloak.services.resources.admin.permissions.GroupPermissionManagementを実装しています。

232  {
233  ResourceServer server = root.realmResourceServer();
234  if (server == null) return null;
235  String managePermissionName = getManagePermissionGroup(group);
236  return authz.getStoreFactory().getPolicyStore().findByName(managePermissionName, server.getId());
237  }
final AuthorizationProvider authz
Definition: GroupPermissions.java:49
static String getManagePermissionGroup(GroupModel group)
Definition: GroupPermissions.java:64
final MgmtPermissions root
Definition: GroupPermissions.java:50
ResourceServer realmResourceServer
Definition: MgmtPermissions.java:62

◆ requireList()

void org.keycloak.services.resources.admin.permissions.GroupPermissions.requireList ( )
inline

org.keycloak.services.resources.admin.permissions.GroupPermissionEvaluatorを実装しています。

140  {
141  if (!canList()) {
142  throw new ForbiddenException();
143  }
144  }
boolean canList()
Definition: GroupPermissions.java:135

◆ requireManage() [1/2]

void org.keycloak.services.resources.admin.permissions.GroupPermissions.requireManage ( GroupModel  group)
inline

org.keycloak.services.resources.admin.permissions.GroupPermissionEvaluatorを実装しています。

292  {
293  if (!canManage(group)) {
294  throw new ForbiddenException();
295  }
296  }
boolean canManage()
Definition: GroupPermissions.java:338

◆ requireManage() [2/2]

void org.keycloak.services.resources.admin.permissions.GroupPermissions.requireManage ( )
inline

org.keycloak.services.resources.admin.permissions.GroupPermissionEvaluatorを実装しています。

343  {
344  if (!canManage()) {
345  throw new ForbiddenException();
346  }
347  }
boolean canManage()
Definition: GroupPermissions.java:338

◆ requireManageMembers()

void org.keycloak.services.resources.admin.permissions.GroupPermissions.requireManageMembers ( GroupModel  group)
inline

org.keycloak.services.resources.admin.permissions.GroupPermissionEvaluatorを実装しています。

435  {
436  if (!canManageMembers(group)) {
437  throw new ForbiddenException();
438  }
439  }
boolean canManageMembers(GroupModel group)
Definition: GroupPermissions.java:406

◆ requireManageMembership()

void org.keycloak.services.resources.admin.permissions.GroupPermissions.requireManageMembership ( GroupModel  group)
inline

org.keycloak.services.resources.admin.permissions.GroupPermissionEvaluatorを実装しています。

471  {
472  if (!canManageMembership(group)) {
473  throw new ForbiddenException();
474  }
475  }
boolean canManageMembership(GroupModel group)
Definition: GroupPermissions.java:442

◆ requireView() [1/2]

void org.keycloak.services.resources.admin.permissions.GroupPermissions.requireView ( GroupModel  group)
inline

org.keycloak.services.resources.admin.permissions.GroupPermissionEvaluatorを実装しています。

331  {
332  if (!canView(group)) {
333  throw new ForbiddenException();
334  }
335  }
boolean canView()
Definition: GroupPermissions.java:349

◆ requireView() [2/2]

void org.keycloak.services.resources.admin.permissions.GroupPermissions.requireView ( )
inline

org.keycloak.services.resources.admin.permissions.GroupPermissionEvaluatorを実装しています。

354  {
355  if (!canView()) {
356  throw new ForbiddenException();
357  }
358  }
boolean canView()
Definition: GroupPermissions.java:349

◆ requireViewMembers()

void org.keycloak.services.resources.admin.permissions.GroupPermissions.requireViewMembers ( GroupModel  group)
inline

org.keycloak.services.resources.admin.permissions.GroupPermissionEvaluatorを実装しています。

398  {
399  if (!canViewMembers(group)) {
400  throw new ForbiddenException();
401  }
402  }
boolean canViewMembers(GroupModel group)
Definition: GroupPermissions.java:363

◆ resource()

Resource org.keycloak.services.resources.admin.permissions.GroupPermissions.resource ( GroupModel  group)
inline

org.keycloak.services.resources.admin.permissions.GroupPermissionManagementを実装しています。

240  {
241  ResourceServer server = root.realmResourceServer();
242  if (server == null) return null;
243  Resource resource = authz.getStoreFactory().getResourceStore().findByName(getGroupResourceName(group), server.getId());
244  if (resource == null) return null;
245  return resource;
246  }
static String getGroupResourceName(GroupModel group)
Definition: GroupPermissions.java:59
final AuthorizationProvider authz
Definition: GroupPermissions.java:49
Resource resource(GroupModel group)
Definition: GroupPermissions.java:240
final MgmtPermissions root
Definition: GroupPermissions.java:50
ResourceServer realmResourceServer
Definition: MgmtPermissions.java:62

◆ setPermissionsEnabled()

void org.keycloak.services.resources.admin.permissions.GroupPermissions.setPermissionsEnabled ( GroupModel  group,
boolean  enable 
)
inline

org.keycloak.services.resources.admin.permissions.GroupPermissionManagementを実装しています。

164  {
165  if (enable) {
166  initialize(group);
167  } else {
168  deletePermissions(group);
169  }
170  }
void initialize(GroupModel group)
Definition: GroupPermissions.java:84
void deletePermissions(GroupModel group)
Definition: GroupPermissions.java:172

◆ viewMembersPermission()

Policy org.keycloak.services.resources.admin.permissions.GroupPermissions.viewMembersPermission ( GroupModel  group)
inline

org.keycloak.services.resources.admin.permissions.GroupPermissionManagementを実装しています。

200  {
201  ResourceServer server = root.realmResourceServer();
202  if (server == null) return null;
203  String viewMembersPermissionName = getViewMembersPermissionGroup(group);
204  return authz.getStoreFactory().getPolicyStore().findByName(viewMembersPermissionName, server.getId());
205  }
final AuthorizationProvider authz
Definition: GroupPermissions.java:49
static String getViewMembersPermissionGroup(GroupModel group)
Definition: GroupPermissions.java:80
final MgmtPermissions root
Definition: GroupPermissions.java:50
ResourceServer realmResourceServer
Definition: MgmtPermissions.java:62

◆ viewPermission()

Policy org.keycloak.services.resources.admin.permissions.GroupPermissions.viewPermission ( GroupModel  group)
inline

org.keycloak.services.resources.admin.permissions.GroupPermissionManagementを実装しています。

224  {
225  ResourceServer server = root.realmResourceServer();
226  if (server == null) return null;
227  String viewPermissionName = getViewPermissionGroup(group);
228  return authz.getStoreFactory().getPolicyStore().findByName(viewPermissionName, server.getId());
229  }
final AuthorizationProvider authz
Definition: GroupPermissions.java:49
final MgmtPermissions root
Definition: GroupPermissions.java:50
ResourceServer realmResourceServer
Definition: MgmtPermissions.java:62
static String getViewPermissionGroup(GroupModel group)
Definition: GroupPermissions.java:76

メンバ詳解

◆ authz

final AuthorizationProvider org.keycloak.services.resources.admin.permissions.GroupPermissions.authz
protected

◆ logger

final Logger org.keycloak.services.resources.admin.permissions.GroupPermissions.logger = Logger.getLogger(GroupPermissions.class)
staticprivate

◆ MANAGE_MEMBERS_SCOPE

final String org.keycloak.services.resources.admin.permissions.GroupPermissions.MANAGE_MEMBERS_SCOPE = "manage-members"
static

◆ MANAGE_MEMBERSHIP_SCOPE

final String org.keycloak.services.resources.admin.permissions.GroupPermissions.MANAGE_MEMBERSHIP_SCOPE = "manage-membership"
static

◆ MAP_ROLE_SCOPE

final String org.keycloak.services.resources.admin.permissions.GroupPermissions.MAP_ROLE_SCOPE = "map-role"
static

◆ realm

final RealmModel org.keycloak.services.resources.admin.permissions.GroupPermissions.realm
protected

◆ root

final MgmtPermissions org.keycloak.services.resources.admin.permissions.GroupPermissions.root
protected

◆ session

final KeycloakSession org.keycloak.services.resources.admin.permissions.GroupPermissions.session
protected

◆ VIEW_MEMBERS_SCOPE

final String org.keycloak.services.resources.admin.permissions.GroupPermissions.VIEW_MEMBERS_SCOPE = "view-members"
static

このクラス詳解は次のファイルから抽出されました: