Grails:如何限制对用户的链接元素的获取?

Posted

技术标签:

【中文标题】Grails:如何限制对用户的链接元素的获取?【英文标题】:Grails: how to restrict fetching of linked elements to user? 【发布时间】:2014-12-28 19:28:18 【问题描述】:

目前,我们通过在使用 list() 和休眠条件时明确定义条件来限制(子或链接)元素的访问。

如果域对象知道用户上下文并自动限制对用户能够接收的链接对象的访问,那就太好了。否则在通过子对象获取不允许的对象时可能会出现安全问题,例如在JSON 渲染期间。

【问题讨论】:

【参考方案1】:

引入强制您通过服务查询对象的设计。然后让服务使用额外的安全约束来增强您的查询。域对象已经做了很多事情,添加安全上下文是可能的,但迟早会踢你的团队。

【讨论】:

感谢您的提示。这不能用数据库视图来完成吗? (mscharhag.com/2014/01/using-database-views-in-grails.html) 在服务中实现安全性可能并不比在控制器中更有效和“故障保存”?!

以上是关于Grails:如何限制对用户的链接元素的获取?的主要内容,如果未能解决你的问题,请参考以下文章

如何限制grails shiro security中的操作

Grails:如何获取当前登录用户的用户名,这需要啥导入?

Grails springSecurityService如何设置当前用户

如何在 Grails 中搜索集合中包含另一个元素的元素?

在 Grails 中验证 IP 地址

如何使用spring security在grails中获取所有当前登录用户的列表(包括rememberme cookie)