Диаграмма последовательности экземпляров RBAC
Я ищу помощь, чтобы понять, как RBAC работает во время выполнения или диаграмму последовательности вызовов сообщений, когда пользователь хочет выполнить действие. До сих пор я не смог найти какую-либо документацию, в которой это подробно описано, и любая помощь будет очень признательна.
На самом базовом уровне я понимаю, что RBAC проверяет разрешения на выполнение действий над объектом, возвращающим значение true или false. Если true, процесс может продолжаться с использованием соответствующих бизнес-объектов, реализаций DAO и где обновления обновляются, где это применимо.
В следующей модели RBAC содержатся роли, разрешения, объекты и операции, но как это связано с действиями пользователя во время выполнения?
https://www.mind-it.info/2010/01/09/nist-rbac-data-model/
Чтобы определить, как работает модель RBAC для приложения на веб-сайте, я наметил ряд действий для гостя и пользователя с несколькими вопросами, чтобы определить последовательность событий.
1. Гость Пользователь
Действие 1. Гостевой пользователь - это тот, кто не вошел в систему, но может получить доступ к домашней странице и зарегистрировать учетную запись пользователя.
"Сессия" создается в первую очередь, когда пользователь заходит на страницу сайта?
Назначается ли гостевая "роль", когда пользователь получает доступ к странице веб-сайта с разрешениями "createAccount" для создания записи пользователя?
Действие 2 - Если гость выбирает "зарегистрироваться", открывается форма регистрации. Пользователь вводит регистрационные данные и нажимает "отправить".
Проверяются ли права пользователя на роль при нажатии кнопки регистрации или при отправке формы?
Создается ли "сессия" в этот момент или используется действие из действия 1 выше?
"Сессия" проверяет доступ к регистрации, и это возвращается как "истина" / "ложь". Результат 'true' позволяет продолжить создание учетной записи пользователя или отобразить ошибку отказа в разрешении, если 'false'.
До сих пор было только создать "сеанс", назначить "роль" и "проверить", если действие может быть завершено. Если действие может быть выполнено, то следующий вызов заключается в том, чтобы бизнес-объект подтвердил регистрационные данные, вызывает userDAO и вводит запись пользователя)?
После этого удаляет ли сеанс активную роль, относящуюся к гостю, и добавляет новую активную роль клиента в сеанс?
2. Пользователь клиента
Действие 3 - пользователь-пользователь - это тот, кто может войти в систему, приобрести предмет, просмотреть приобретенные предметы.
Создается ли "сессия" в первую очередь, когда пользователь заходит на страницу веб-сайта или при завершении входа в систему, где отображается эта конкретная домашняя страница пользователя?
Является ли процесс аутентификации отдельным от RBAC, где имя пользователя и пароль сравниваются с информацией в таблице пользователей? Происходит ли это до создания "сеанса" или "роли"?
Назначается ли "роль" клиента, когда пользователь выбирает вход в систему или когда пользователь вводит и отправляет свое имя пользователя и пароль?
Когда пользователь входит в систему, клиент может выполнять ряд функций. Следует ли использовать разрешения роли для определения действий, которые включены на этой домашней странице?
Находится ли на действии отправки, например, при выборе ссылки для просмотра или при отправке формы, проверка прав доступа?
Когда заканчивается сеанс? Когда удаляется активная роль?