Я пытаюсь смоделировать сложную систему управления разрешениями, используя apache shiro.
Английский не является моим родным языком. Я боюсь, что могу упустить некоторые тонкости таких терминов, как «Роли», «Разрешения», «Права» и «привилегии».
Например, допустим, я хочу создать систему, которая управляет такими ресурсами, как принтеры, расположенные внутри зданий. БД содержит информацию о том, какой принтер находится в каком здании. Пользователи этой системы должны иметь возможность перезагружать принтер или печатать на нем.
Мне ясно, что некоторые пользователи будут «суперадминистраторами» и смогут перезагружаться и печатать на любом принтере («принтер: *: *») — я думаю, мы могли бы сказать, что у этих людей есть «роль суперадминистратора».
Но что, если кому-то нужно разрешить сбрасывать принтеры в определенном здании («здание: A:*»)? Является ли «Администратор здания» (прараметрической) ролью? или это просто разрешение на конкретное здание? Как бы вы смоделировали это, используя apache Shiro?
nb
При пометке этого Q я добавил тег user-roles, и он говорит: «Роль пользователя — это группа пользователей, которые имеют одни и те же привилегии или разрешения в системе. Используйте этот тег для вопросов о том, как роли пользователей работают в системе. конкретная структура безопасности или вопросы о реализации пользовательских ролей в вашей программе».
Буду ли я прав, если предположу, что на основе этого определения не существует такой роли, как «Администратор здания», потому что администратор здания A не дает вам тех же разрешений, что и администратор здания B? и если да, то какая терминология будет правильной для описания «администратора здания»?