Меня беспокоит вопрос о объектах GrantedAuthority в приложении Spring Security. Я ищу хороший способ справиться с вещами. Прежде всего, я пытаюсь описать мою проблему, если есть какие-либо фактические ошибки, не стесняйтесь указывать на них, я буду только признателен.
Spring Security использует экземпляры GrantedAuthority в качестве маркеров авторизации в разных частях приложения.
По умолчанию GrantedAuthority может представлять себя как String. Когда методы защищены с помощью @ Secured ("ROLE_NAME") или URL-адреса защищены с использованием конфигурации Spring XML или когда запрос HttpServletRequest проверяется программно, как в if (request.isUserInRole ("ROLE_NAME")) {..} всегда используется строка, используемая для указания прав доступа, для которых проверяется.
Я задаюсь вопросом о последствиях использования статических строк в нескольких местах приложения. Если имя роли изменено, разработчик должен найти все старые строки и обновить их. Если пропущена строка, ошибки времени компиляции не будет, только проблема во время выполнения.
Как вы считаете, как лучше всего обращаться с объектами GrantedAuthority в приложении Spring Security? Какие плюсы и минусы у вашего решения?