mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-14 17:26:22 +01:00
grant owner permissions to each repository for admins
This commit is contained in:
@@ -61,6 +61,7 @@ import sonia.scm.config.ScmConfiguration;
|
|||||||
import sonia.scm.group.Group;
|
import sonia.scm.group.Group;
|
||||||
import sonia.scm.group.GroupManager;
|
import sonia.scm.group.GroupManager;
|
||||||
import sonia.scm.repository.Permission;
|
import sonia.scm.repository.Permission;
|
||||||
|
import sonia.scm.repository.PermissionType;
|
||||||
import sonia.scm.repository.Repository;
|
import sonia.scm.repository.Repository;
|
||||||
import sonia.scm.repository.RepositoryDAO;
|
import sonia.scm.repository.RepositoryDAO;
|
||||||
import sonia.scm.repository.RepositoryListener;
|
import sonia.scm.repository.RepositoryListener;
|
||||||
@@ -563,6 +564,7 @@ public class ScmRealm extends AuthorizingRealm
|
|||||||
private AuthorizationInfo createAuthorizationInfo(User user, Groups groups)
|
private AuthorizationInfo createAuthorizationInfo(User user, Groups groups)
|
||||||
{
|
{
|
||||||
Set<String> roles = Sets.newHashSet();
|
Set<String> roles = Sets.newHashSet();
|
||||||
|
List<org.apache.shiro.authz.Permission> permissions = null;
|
||||||
|
|
||||||
roles.add(ROLE_USER);
|
roles.add(ROLE_USER);
|
||||||
|
|
||||||
@@ -574,12 +576,17 @@ public class ScmRealm extends AuthorizingRealm
|
|||||||
}
|
}
|
||||||
|
|
||||||
roles.add(ROLE_ADMIN);
|
roles.add(ROLE_ADMIN);
|
||||||
|
permissions = Lists.newArrayList();
|
||||||
|
permissions.add(new RepositoryPermission("*", PermissionType.OWNER));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
permissions = collectRepositoryPermissions(user, roles);
|
||||||
}
|
}
|
||||||
|
|
||||||
SimpleAuthorizationInfo info = new SimpleAuthorizationInfo(roles);
|
SimpleAuthorizationInfo info = new SimpleAuthorizationInfo(roles);
|
||||||
|
|
||||||
info.addObjectPermissions(collectRepositoryPermissions(user,
|
info.addObjectPermissions(permissions);
|
||||||
groups.getGroups()));
|
|
||||||
|
|
||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user