У меня есть механизм конвенционного роль в моем приложении, для которого каждая роль следует синтаксис:Использование маски в роли Spring Security
APP_DEPARTMENT1_USER
APP_DEPARTMENT1_AUDITOR
APP_DEPARTMENT1_WHATEVER
APP_DEPARTMENT2_...
Я хочу настроить Spring безопасности для того, чтобы обеспечить все роли, которые соответствуют заданному суффикса чтобы получить доступ к разделу моего веб-приложения. Я слепо попробовал <intercept-url pattern="/secure/audit/**" access="APP_*_AUDITOR,APP_ADMINISTRATOR" />
(где APP_ADMINISTRATOR
- моя роль администратора по умолчанию), но это не сработало. Когда я вхожу в систему как администратор, я могу получить доступ к этой странице, но когда я пытаюсь войти в систему с профилем с помощью APP_DEPARTMENT1_AUDITOR
, я не могу получить доступ к странице.
Я думаю, что подстановочные выражения не поддерживаются, и я не верю, что выражения Spring EL могут помочь (или я просто недостаточно их освоил).
Есть ли способ настроить шаблон ролей для Spring Security в теге <intercept-url>
?
Мое приложение в настоящее время не реализует никакой формы иерархии ролей, но ответ заслуживает +1 для будущего рассмотрения –
Обновлен мой ответ альтернативой. – zagyi