I am currently evaluating the scope of authentication / authorization.
Apache Shiro seems to be very nice, but I am missing the row level security features .
eg. the database may have special rows that should be visible and accessible only to users with special privileges. To avoid unnecessary round trips, we are currently modifying SQL queries to join our authorization data to only get visible rows for the current user.
But this concept does not seem to me to be “correct,” because we mix business code with a security code that should be orthogonal and independent of each other.
- What solutions are available / possible?
- How do you implement row-level security (especially when combined with jpa) ?
UPDATE:
The target database is basically Oracle 10g / 11g
- but a database independent solution would be preferable if there are no big flaws
java security sql shiro row-level-security
Mralwasser
source share