Я разрабатываю приложение, в котором мне нужно разработать контроль доступа на основе ролей. Я пробовал искать другие ответы, но они предлагают другое решение. Роли динамические c, но на данный момент разрешения имеют c в соответствии с модулями, которые есть в нашем приложении.
Вот мой сценарий.
У меня есть персонал и врач, Персонал подключен к врачу. Таким образом, права доступа: "View Physician", "Edit Physician", "View Appointment", "Edit Appointment"
, et c.
Персонал также может быть глобальным пользователем и локальным пользователем. Итак, предположим, что если персонал является глобальным пользователем, у него есть разрешения для каждого врача. Если персонал является локальным пользователем, у него есть разрешение на специфику c phyiscian.
Теперь, когда персонал переходит к списку встреч, api должен возвращать данные в соответствии с его разрешением, он должен иметь возможность видеть список назначений только для тех врачей, которые дали ему разрешение "Просмотр встречи">
Используя hasRole
и hasAuthority
, я могу ограничить весь API, но мне нужно получить данные из базы данных на основе разрешение. Жесткое кодирование разрешения в запросе JPA для каждого попадания в базу данных будет слишком большим.
Итак, я ищу некоторые предложения и помощь по архитектуре или шаблону дизайна для этого.