我在我的 java Web 应用程序中使用 Spring Security 和 Hibernate 从数据库中获取数据。我们现在需要根据用户所在的页面和他们拥有的访问级别来限制用户可以检索的结果。IE
对于第一页,管理员可以查看所有内容,管理员可以查看/搜索属性为A且值为X的所有内容,站点管理员只能查看/搜索该页面上属性B为值为Y的所有内容。
目前我们使用了一个写得很糟糕的 HQL 函数,它根据传入的用户和位置拼凑一个字符串查询。它非常大If...Else if....else...if else
等。
我试图通过使用 Hibernate FullTextFilter 注释以更加程序化的方式来解决这个问题。但是,我需要通过一个主键的属性来搜索连接表,我认为这不太好。
根据不同的权限从数据库中获取项目的最佳实践/推荐方式是什么?