Mongodb DomainClass.where查询、授权和筛选
我正在研究使用Grails和使用GORM访问MongoDB 假设我有一个名为BlogPost的域类,但特定用户只允许查看某些blog文章 现在,在控制器操作中,我可以轻松地执行类似于BlogPost.where{}的操作,但这将返回所有的blog帖子 我需要一个集中的机制来过滤控制器执行查询时返回的域对象 使用的插件是您可以在域类中使用GORM事件“onLoad”,并在那里应用过滤器。例如:Mongodb DomainClass.where查询、授权和筛选,mongodb,grails,gorm,Mongodb,Grails,Gorm,我正在研究使用Grails和使用GORM访问MongoDB 假设我有一个名为BlogPost的域类,但特定用户只允许查看某些blog文章 现在,在控制器操作中,我可以轻松地执行类似于BlogPost.where{}的操作,但这将返回所有的blog帖子 我需要一个集中的机制来过滤控制器执行查询时返回的域对象 使用的插件是您可以在域类中使用GORM事件“onLoad”,并在那里应用过滤器。例如: Class BlogPost{ String content String view
Class BlogPost{
String content
String viewableByRole //it might be another domain for roles/string/enum as per your requirement
....
def onLoad() {
//apply your condition here
}
}
请看这里:
或者,您可以在服务类或域类中定义方法来应用过滤器。比如说,
...
def getAllPost() {
def currentRole = take_role_from_security_plugin_like_shiro_or_spring_security_session etc
return BlogPost.findAllByViewableByRole(currentRole)
}
...
实际上,你的问题涉及的范围很广。若问题再具体一点,你们会得到更好的建议