Я хочу расширить права, предоставленные пользователю для объекта.
Я могу создавать ACL через MutableAclService
.
MutableAcl acl = this.mutableAclService.createAcl(new ObjectIdentityImpl(entity));
acl.setOwner(SYSTEM_PRINCIPAL_SID);
acl.insertAce(0, permission, grantToSid, true);
this.mutableAclService.updateAcl(acl);
Но я не знаю, как изменить ACL. Например, если у пользователя есть права на чтение для объекта, я хочу предоставить ему дополнительные права на запись.
Или предоставьте другому пользователю те же привилегии.
Моей первой попыткой было дважды вызвать MutableAclService.createAcl
, но это не удалось:
org.springframework.security.acls.model.AlreadyExistsException: идентификация объекта 'org.springframework.security.acls.domain.ObjectIdentityImpl [Тип: test.Entity; Идентификатор: 3] 'уже существует
Хорошо, швы должны быть правильными, неправильными. Но как это сделать тогда? Как изменить разрешения acl для объекта, для которого уже определены некоторые разрешения?