Система, над которой я сейчас работаю, требует некоторой безопасности на основе ролей, которая хорошо подходит для стека Java EE. Система предназначена для того, чтобы эксперты в области бизнеса могли писать свой код поверх.
Однако существует также требование к данным security
. То есть какая информация видна конечному пользователю.
Это фактически означает уменьшение видимости строк (и, возможно, даже столбцов) в базе данных.
Мы используем Hibernate для нашей настойчивости. Однако мы используем свои собственные аннотации, чтобы не подвергать наш постоянный выбор экспертам в области бизнеса.
Для защиты на основе строк это означает, что мы можем добавить аннотацию, такую как @Secured
на уровне объекта, что приведет к добавлению дополнительного столбца в базовую таблицу, чтобы ограничить наши выборки?
Для безопасности на основе столбцов у нас может быть @Secured
, чтобы либо помочь в создании запроса, либо, возможно, использовать аспект для фильтрации возвращаемой информации?
Мне любопытно узнать, как это может повлиять и на механизмы кэширования hibernate?
Я уверен, что у многих других была такая же проблема, и мне было интересно, как вы подошли к этому?
Очень ценится ...