diff --git a/scm-webapp/src/main/java/sonia/scm/security/ScmRealm.java b/scm-webapp/src/main/java/sonia/scm/security/ScmRealm.java index 053079c063..7ad34a9873 100644 --- a/scm-webapp/src/main/java/sonia/scm/security/ScmRealm.java +++ b/scm-webapp/src/main/java/sonia/scm/security/ScmRealm.java @@ -61,6 +61,7 @@ import sonia.scm.config.ScmConfiguration; import sonia.scm.group.Group; import sonia.scm.group.GroupManager; import sonia.scm.repository.Permission; +import sonia.scm.repository.PermissionType; import sonia.scm.repository.Repository; import sonia.scm.repository.RepositoryDAO; import sonia.scm.repository.RepositoryListener; @@ -563,6 +564,7 @@ public class ScmRealm extends AuthorizingRealm private AuthorizationInfo createAuthorizationInfo(User user, Groups groups) { Set roles = Sets.newHashSet(); + List permissions = null; roles.add(ROLE_USER); @@ -574,12 +576,17 @@ public class ScmRealm extends AuthorizingRealm } roles.add(ROLE_ADMIN); + permissions = Lists.newArrayList(); + permissions.add(new RepositoryPermission("*", PermissionType.OWNER)); + } + else + { + permissions = collectRepositoryPermissions(user, roles); } SimpleAuthorizationInfo info = new SimpleAuthorizationInfo(roles); - info.addObjectPermissions(collectRepositoryPermissions(user, - groups.getGroups())); + info.addObjectPermissions(permissions); return info; }