На самом деле стандартный подход заключается в использовании LDAP, где вы объявляете пользователей и назначаете их группам LDAP, которые затем сопоставляются с ограничениями безопасности.Администрирование осуществляется в LDAP на уровне пользователей.И как только ограничения безопасности установлены, они почти никогда не меняются в моем опыте (с чего бы это?).Обратитесь к руководству SecureJavaEE6App , чтобы узнать больше об этом.
Итак, чтобы четко ответить на ваш вопрос, вытащить ограничений из базы данных невозможно, это простоБезопасность Java EE работает.Если вам нужна большая гибкость, взгляните на Spring Security , но я не думаю, что он также позволяет динамически устанавливать роли.
Если честно, я не совсем понимаю вариант использования.Как я уже сказал, ограничения безопасности не меняются вообще.И если вам нужно защитить новые ресурсы, то вы, скорее всего, все равно будете повторно развертывать приложение.Но я могу что-то упустить