Search in sources :

Example 51 with GRN

use of org.graylog.grn.GRN in project graylog2-server by Graylog2.

the class UserServiceImpl method getPermissionsForUser.

@Override
public List<Permission> getPermissionsForUser(User user) {
    final GRN principal = grnRegistry.ofUser(user);
    final ImmutableSet.Builder<Permission> permSet = ImmutableSet.<Permission>builder().addAll(user.getPermissions().stream().map(CaseSensitiveWildcardPermission::new).collect(Collectors.toSet())).addAll(permissionAndRoleResolver.resolvePermissionsForPrincipal(principal)).addAll(getUserPermissionsFromRoles(user).stream().map(CaseSensitiveWildcardPermission::new).collect(Collectors.toSet()));
    return permSet.build().asList();
}
Also used : GRN(org.graylog.grn.GRN) ImmutableSet(com.google.common.collect.ImmutableSet) WildcardPermission(org.apache.shiro.authz.permission.WildcardPermission) GRNPermission(org.graylog.security.permissions.GRNPermission) Permission(org.apache.shiro.authz.Permission) CaseSensitiveWildcardPermission(org.graylog.security.permissions.CaseSensitiveWildcardPermission) CaseSensitiveWildcardPermission(org.graylog.security.permissions.CaseSensitiveWildcardPermission)

Aggregations

GRN (org.graylog.grn.GRN)51 User (org.graylog2.plugin.database.users.User)19 DisplayName (org.junit.jupiter.api.DisplayName)16 Test (org.junit.jupiter.api.Test)16 Test (org.junit.Test)13 MongoDBFixtures (org.graylog.testing.mongodb.MongoDBFixtures)11 Subject (org.apache.shiro.subject.Subject)10 ImmutableSet (com.google.common.collect.ImmutableSet)7 Collectors (java.util.stream.Collectors)5 GRNRegistry (org.graylog.grn.GRNRegistry)5 Capability (org.graylog.security.Capability)5 ImmutableMap (com.google.common.collect.ImmutableMap)4 EventBus (com.google.common.eventbus.EventBus)4 Set (java.util.Set)4 DBGrantService (org.graylog.security.DBGrantService)4 ZonedDateTime (java.time.ZonedDateTime)3 Collection (java.util.Collection)3 List (java.util.List)3 Map (java.util.Map)3 Objects (java.util.Objects)3