Я пытаюсь настроить нашу собственную версию Spring-Security, но я не совсем понимаю, почему ACL имеет идентификатор, который даже должен быть первичным ключом, если, как я понимаю, сам ACL являетсяникогда не сохранялся напрямую каким-либо образом, это скорее представление о подмножестве ACL_Entry
s.
Насколько я понимаю, ACL
- это список контроля доступа.Значение списка SID
с Permission
с для OID
с.Правильно?
Базовая структура данных, используемая Spring-Security, определяет SID
и OID
(в сочетании с идентификатором Class
).Эти два вместе с разрешением и флагом предоставления называются записью контроля доступа или ACE
и сохраняются внутри сущности acl_entry
.
Внутри приложения я спрашиваю Spring-Security (точнее, мои собственные реализации).их интерфейсов), чтобы получить все настройки разрешений для набора идентификаторов OID и SID, и в результате получается список, составленный из записей, предоставляющих разрешения SID-OID (тузы), и, таким образом, называемый списком контроля доступа.На самом деле, я не понимаю, как или почему в игру вступает какой-либо идентификатор.
Мне не хватает чего-то важного ?!Пожалуйста, помогите мне понять!
Может быть, один SID имеет несколько OID + разрешение + предоставление записей и, следовательно, является владельцем своего ACL?Или один OID имеет свои SID и свои разрешения, назначенные для сгруппированных в один ACL?
Кроме того: Что должна делать вся эта иерархия и родительский материал?Я предполагаю, что это связано с моим вопросом об идентификаторе, но я действительно не вижу, как acls может быть иерархическим, если acl - просто временное подмножество.И зачем мне в любом случае хотеть иметь иерархию между acls?
Редактировать:
По-видимому, решение для половины моего вопроса таково: ACL идентифицируется черезпервичный ключ OID как один ACL всегда показывает, как к этому объекту можно получить доступ.
Однако я все еще удивляюсь, зачем мне нужна иерархия или владелец в этом отношении.