Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I paginate with Spring Security, Hibernate and row level ACL

I'm reading about Spring Security and wonder whether it's possible to use Spring ACL together with hibernate and pagination. The resulting SQL is surely scary but possible to be auto-generated. It's even possible to use hierarchical ACL if the database supports recursive query evaluation.

Using a post filter is no solution since it breaks pagination and is an unnecessary overhead compared to ACL filtering inside the database.

So I actually have the pieces to build a solution. I want to know whether somebody has already done it.

Links:

  • Similar question from 2012 without response
  • link list about this question
like image 475
Thomas Koch Avatar asked Nov 02 '22 12:11

Thomas Koch


2 Answers

Yes there are solutions to your challenge. The field is called dynamic data masking and dynamic data filtering.

The idea is that you will have a proxy sit between your application and database. The proxy will apply the filtering such that only relevant authorized data is returned to the app hence keeping pagination intact.

Have a look at:

  • GreenSQL
  • Axiomatics Data Access Filter MD (demo)
like image 140
David Brossard Avatar answered Nov 08 '22 06:11

David Brossard


The way I dealing with this is first by getting a list of IDs my user has access to with the solution I gave here.

I then uses this list of IDs to do a query IN with that list.

like image 27
denov Avatar answered Nov 08 '22 06:11

denov