@@ -98,11 +98,6 @@ public class GroupResource implements GetResource<Group>, DDLResource<Group> {
9898 */
9999 private static final String [] writeScopes = {"write:groups" , "all:groups" };
100100
101- /**
102- * Represents the admin roles
103- */
104- private static final String [] adminRoles = {"administrator" };
105-
106101 /**
107102 * Represents the DAO For Group
108103 */
@@ -139,7 +134,7 @@ public ApiResponse createObject(
139134 @ Context HttpServletRequest request ) {
140135 logger .info ("createObject()" );
141136
142- checkAccess (authUser , writeScopes , adminRoles );
137+ Utils . checkAccess (authUser , writeScopes , Utils . AdminRoles );
143138
144139 Group group = validateGroup (postRequest );
145140
@@ -185,7 +180,7 @@ public ApiResponse createSecurityGroup(
185180
186181 logger .info ("createSecurityGroup()" );
187182
188- checkAccess (authUser , writeScopes , adminRoles );
183+ Utils . checkAccess (authUser , writeScopes , Utils . AdminRoles );
189184
190185 if (postRequest == null ) {
191186 throw new APIRuntimeException (SC_BAD_REQUEST , String .format (MSG_TEMPLATE_MANDATORY , "Group" ));
@@ -392,7 +387,7 @@ public ApiResponse updateObject(
392387 @ Context HttpServletRequest request ) {
393388 logger .info ("updateObject()" );
394389
395- checkAccess (authUser , writeScopes , adminRoles );
390+ Utils . checkAccess (authUser , writeScopes , Utils . AdminRoles );
396391
397392 Group group = validateGroup (putRequest );
398393
@@ -447,7 +442,7 @@ public ApiResponse deleteObject(
447442 @ Context HttpServletRequest request ) {
448443 logger .info (String .format ("deleteObject(%s)" , groupId ));
449444
450- checkAccess (authUser , writeScopes , adminRoles );
445+ Utils . checkAccess (authUser , writeScopes , Utils . AdminRoles );
451446
452447 Group group = getExistingGroup (new TCID (groupId ));
453448
@@ -511,7 +506,7 @@ public ApiResponse getObject(
511506 logger .info (String .format ("getObject(%s)" , groupId ));
512507 Group group = getExistingGroup (groupId );
513508
514- validateAdminRoleOrPrivateGroupMembership (authUser , group , readScopes , adminRoles );
509+ validateAdminRoleOrPrivateGroupMembership (authUser , group , readScopes , Utils . AdminRoles );
515510
516511 return ApiResponseFactory .createFieldSelectorResponse (group , selector );
517512 }
@@ -636,7 +631,7 @@ public ApiResponse getMembers(
636631 // Check group exists
637632 Group group = getExistingGroup (groupId );
638633
639- validateAdminRoleOrPrivateGroupMembership (authUser , group , readScopes , adminRoles );
634+ validateAdminRoleOrPrivateGroupMembership (authUser , group , readScopes , Utils . AdminRoles );
640635
641636 try {
642637 List <GroupMembership > memberships = groupDao .findMembershipsByGroup (Utils .toLongValue (groupId ));
@@ -669,10 +664,10 @@ public ApiResponse getObjects(
669664
670665 logger .info (String .format ("getObjects(%s, %s)" , memberId , membershipType ));
671666
672- checkAccess (authUser , readScopes , null );
667+ Utils . checkAccess (authUser , readScopes , null );
673668
674669 // for admin and machine token
675- if (authUser .isMachine () || hasAdminRole (authUser )) {
670+ if (authUser .isMachine () || Utils . hasAdminRole (authUser )) {
676671 if (memberId ==null && Utils .isEmpty (membershipType )) {
677672 return ApiResponseFactory .createFieldSelectorResponse (groupDao .findAllGroups (), null );
678673 }
@@ -709,7 +704,7 @@ public ApiResponse addMember(
709704
710705 logger .info ("addMember()" );
711706
712- checkAccess (authUser , writeScopes , null );
707+ Utils . checkAccess (authUser , writeScopes , null );
713708
714709 validateMembership (postRequest );
715710
@@ -722,7 +717,7 @@ public ApiResponse addMember(
722717 Group group = getExistingGroup (groupId );
723718
724719 // only admins or self registering users are allowed (if the group allows self register)
725- if (!authUser .isMachine () && !hasAdminRole (authUser ) && !(group .getSelfRegister () && membership .getMemberId ().toString ().equals (authUser .getUserId ().getId ()))) {
720+ if (!authUser .isMachine () && !Utils . hasAdminRole (authUser ) && !(group .getSelfRegister () && membership .getMemberId ().toString ().equals (authUser .getUserId ().getId ()))) {
726721 throw new APIRuntimeException (SC_FORBIDDEN , "Forbidden" );
727722 }
728723
@@ -759,7 +754,7 @@ public ApiResponse removeMember(
759754
760755 logger .info (String .format ("removeMember(%s, %s)" , groupId , membershipId ));
761756
762- checkAccess (authUser , writeScopes , null );
757+ Utils . checkAccess (authUser , writeScopes , null );
763758
764759 long id = Utils .toLongValue (membershipId );
765760 GroupMembership membership = groupDao .findMembership (id );
@@ -770,7 +765,7 @@ public ApiResponse removeMember(
770765 }
771766
772767 // only admins or self registering users are allowed (if the group allows self register)
773- if (!authUser .isMachine () && !hasAdminRole (authUser ) && !(group .getSelfRegister () && membership .getMemberId ().toString ().equals (authUser .getUserId ().getId ()))) {
768+ if (!authUser .isMachine () && !Utils . hasAdminRole (authUser ) && !(group .getSelfRegister () && membership .getMemberId ().toString ().equals (authUser .getUserId ().getId ()))) {
774769 throw new APIRuntimeException (SC_FORBIDDEN , "Forbidden" );
775770 }
776771
@@ -812,46 +807,4 @@ private void validateAdminRoleOrPrivateGroupMembership(AuthUser authUser, Group
812807 }
813808 throw new APIRuntimeException (SC_FORBIDDEN , "Forbidden" );
814809 }
815-
816- private void checkAccess (AuthUser authUser , String [] allowedScopes , String [] allowedRoles ) {
817- if (authUser == null ) {
818- throw new APIRuntimeException (SC_BAD_REQUEST , String .format (MSG_TEMPLATE_MANDATORY , "Authentication user" ));
819- }
820-
821- if (authUser .isMachine ()) {
822- if (allowedScopes == null || allowedScopes .length == 0 ) {
823- return ;
824- }
825-
826- for (String allowedScope : allowedScopes ) {
827- if (authUser .getScope ().contains (allowedScope )) {
828- return ;
829- }
830- }
831- } else {
832- if (allowedRoles == null || allowedRoles .length == 0 ) {
833- return ;
834- }
835-
836- for (String role : allowedRoles ) {
837- if (authUser .getRoles () != null && authUser .getRoles ().contains (role )) {
838- return ;
839- }
840- }
841- }
842-
843- throw new APIRuntimeException (SC_FORBIDDEN , "Forbidden" );
844- }
845-
846- private boolean hasAdminRole (AuthUser authUser ) {
847- if (authUser .getRoles () != null ) {
848- for (String role : adminRoles ) {
849- if (authUser .getRoles ().contains (role )) {
850- return true ;
851- }
852- }
853- }
854-
855- return false ;
856- }
857810}
0 commit comments