Концепции ACL Principal и GrantedAuthority

Я читаю о Spring Security ACL lib, и я немного запутался в некоторых концепциях. Что касается SID, то, к моему замешательству, говорится:

ACL_SID позволяет нам однозначно идентифицировать любого принципала или полномочного органа в системе («SID» означает «идентификатор безопасности»). Единственными столбцами являются идентификатор, текстовое представление SID и флаг, указывающий, ссылается ли текстовое представление на имя принципала или на GrantedAuthority.

Итак, принципал — это то же самое, что и роль? Является ли GrantedAuthority равным понятием или особой ролью? Означает ли логическое поле principal = true, что идентификатор имеет семантическое значение или просто роль в системе? Если да, то почему вы хотите хранить SID, которые не учитываются в системе?


person Whimusical    schedule 01.06.2016    source источник


Ответы (1)


ACL (список управления доступом) состоит из ряда записей (правил), где каждая запись ссылается на sid, который является пользователем или группой пользователей, для которых применяется запись/правило.

  • Если в поле принципала установлено значение true, sid является принципалом, то есть одним пользователем. Затем поле sid содержит имя пользователя.

  • Если в основном поле установлено значение false, sid — это полномочие, например ROLE_ADMIN. GrantedAuthority в основном то же самое, что и роль (роль — это своего рода полномочия).

person holmis83    schedule 02.06.2016