Package org.jenkinsci.plugins
Class GitLabOAuthGroupDetails
java.lang.Object
hudson.security.GroupDetails
org.jenkinsci.plugins.GitLabOAuthGroupDetails
Represent a group from GitLab as a group in Jenkins terms.
The surprising bits here are that:
* GitLab groups exist in a hierarchy while jenkins groups are just a flat namespace
* Jenkins groups live in the same namespace as user names
* GitLab users can easily be granted the privilege to create new groups and if the name
of the gitlab group is allowed to become the name of the jenkins group, then a relatively
low-privilege user in gitlab can create a group that clashes with privileged users and groups
in jenkins and elevate jenkins privileges that way.
The solution is two-fold:
* The gitlab groups must be identified as being gitlab groups to avoid clashing with jenkins user names.
* The gitlab group hierarchy must be reflected in the name too, to avoid being able to conflate two groups by name
-
Constructor Summary
ConstructorDescriptionGitLabOAuthGroupDetails
(org.gitlab4j.api.models.Group gitlabGroup) Group based on organization name -
Method Summary
Methods inherited from class hudson.security.GroupDetails
getMembers
-
Constructor Details
-
GitLabOAuthGroupDetails
public GitLabOAuthGroupDetails(org.gitlab4j.api.models.Group gitlabGroup) Group based on organization name- Parameters:
gitlabGroup
-
-
-
Method Details
-
getName
- Specified by:
getName
in classGroupDetails
-
getDisplayName
- Overrides:
getDisplayName
in classGroupDetails
-
toString
-
getAuth
-