This commit is contained in:
Jonas Dann
2017-11-23 12:25:25 +01:00
parent 31d95656e1
commit b463fcc76d
2 changed files with 12 additions and 3 deletions
@@ -126,8 +126,11 @@ public class UserDTO implements IsSerializable {
}
public boolean hasPermission(WildcardPermission permission, AccessControlListDTO acl, OwnerDTO owner) {
return PermissionChecker.isPermitted(permission, name, new ArrayList<UserGroup>(acl.getUserGroupPermissionMap().keySet()),
permissions, roles, rolePermissionModelDTO, owner, acl);
ArrayList<UserGroup> userGroups = new ArrayList<>();
if (acl != null) {
userGroups = new ArrayList<>(acl.getUserGroupPermissionMap().keySet());
}
return PermissionChecker.isPermitted(permission, name, userGroups, permissions, roles, rolePermissionModelDTO, owner, acl);
}
public List<AccountDTO> getAccounts() {
@@ -1,8 +1,10 @@
package com.sap.sse.security.userstore.mongodb.impl;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.UUID;
import com.mongodb.BasicDBList;
@@ -45,7 +47,11 @@ public class MongoObjectFactoryImpl implements MongoObjectFactory {
DBObject query = new BasicDBObject(FieldNames.AccessControlList.ID.name(), acl.getId().toString());
dbACL.put(FieldNames.AccessControlList.ID.name(), acl.getId().toString());
dbACL.put(FieldNames.AccessControlList.DISPLAY_NAME.name(), acl.getDisplayName());
dbACL.put(FieldNames.AccessControlList.PERMISSION_MAP.name(), acl.getPermissionMap());
Map<String, Set<String>> permissionMap = new HashMap<>();
for (Map.Entry<UUID, Set<String>> entry : acl.getPermissionMap().entrySet()) {
permissionMap.put(entry.getKey().toString(), entry.getValue());
}
dbACL.put(FieldNames.AccessControlList.PERMISSION_MAP.name(), permissionMap);
aclCollection.update(query, dbACL, /* upsrt */true, /* multi */false, WriteConcern.SAFE);
}