Кодирование пользовательской иерархии java

#java #security #design-patterns

#java #Безопасность #шаблоны проектирования

Вопрос:

Я разрабатываю некоторое программное обеспечение, которое содержит разных пользователей с разными привилегиями, они не связаны с базовой ОС, они находятся в моей программе.

Существует ли шаблон проектирования для такого рода вещей?

В идеале я хотел бы, чтобы можно было создавать пользователей с несколькими группами, как вы можете в unix. Например, пользователь A входит в группу пользователей A и группу пользователей C, пользователь B входит в группу пользователей A и группу пользователей B

Ответ №1:

Проще всего было бы создать базу данных со всеми возможными привилегиями, а затем назначить соответствующие привилегии пользователям. Прежде чем писать какое-либо действие, требующее привилегий, подготовьте для тестирования удобный метод, что-то вроде boolean isAuthorized(User user, PrivilegeType privilege) .

В Java существует множество фреймворков аутентификации и авторизации. Лично я предпочитаю Apache Shiro из-за его простоты и небольшой кривой обучения.

Надеюсь, это поможет.

Комментарии:

1. спасибо за это, я не уверен, почему мне не пришло в голову использовать базу данных…. я думаю, кофе недостаточно!