В настоящее время я оцениваю фреймворки аутентификации/авторизации.
Apache Shiro кажется очень хорошим, но мне не хватает функций безопасности на уровне строк.
Например. в базе данных могут быть специальные строки, которые должны быть видны и доступны только пользователям с особыми привилегиями. Чтобы избежать ненужных циклов, мы в настоящее время модифицируем SQL-запросы для объединения с нашими данными авторизации, чтобы получить только видимые строки для текущего пользователя.
Но эта концепция не кажется мне «правильной», потому что мы смешиваем бизнес-код с кодом, связанным с безопасностью, которые должны быть ортогональными и независимыми друг от друга.
- Какие решения доступны/возможны?
- Как вы реализуете безопасность на уровне строк (особенно в сочетании с jpa)?
ОБНОВЛЕНИЕ:
Целевой базой данных в основном является Oracle 10g/11g
, но решение, независимое от базы данных, было бы предпочтительнее, если нет больших недостатков