#java #security #design-patterns
#java #Безопасность #шаблоны проектирования
Вопрос:
Я разрабатываю некоторое программное обеспечение, которое содержит разных пользователей с разными привилегиями, они не связаны с базовой ОС, они находятся в моей программе.
Существует ли шаблон проектирования для такого рода вещей?
В идеале я хотел бы, чтобы можно было создавать пользователей с несколькими группами, как вы можете в unix. Например, пользователь A входит в группу пользователей A и группу пользователей C, пользователь B входит в группу пользователей A и группу пользователей B
Ответ №1:
Проще всего было бы создать базу данных со всеми возможными привилегиями, а затем назначить соответствующие привилегии пользователям. Прежде чем писать какое-либо действие, требующее привилегий, подготовьте для тестирования удобный метод, что-то вроде boolean isAuthorized(User user, PrivilegeType privilege)
.
В Java существует множество фреймворков аутентификации и авторизации. Лично я предпочитаю Apache Shiro из-за его простоты и небольшой кривой обучения.
Надеюсь, это поможет.
Комментарии:
1. спасибо за это, я не уверен, почему мне не пришло в голову использовать базу данных…. я думаю, кофе недостаточно!