Java Grails-扩展实例

Java Grails-扩展实例,java,grails,groovy,Java,Grails,Groovy,我已经和Grails合作了几个月了,我偶然发现了一些东西 因此,我安装了一个带有Spring Security的小应用程序,并让用户使用它 提前谢谢大家 ----编辑----- 为了使问题更简单、更直接,请忘记类名 class ABC extends XYZ{...} class XYZ{...} 问题:XYZ的多个对象能否扩展ABC的同一个对象**所以,如果我已经有了扩展XYZ1的对象ABC1,我可以创建XYZ2并让它也扩展ABC1吗 似乎用户应该有一个组。根据您的型号,他们可以有一个或多

我已经和Grails合作了几个月了,我偶然发现了一些东西

因此,我安装了一个带有Spring Security的小应用程序,并让用户使用它

提前谢谢大家

----编辑-----

为了使问题更简单、更直接,请忘记类名

class ABC extends XYZ{...}

class XYZ{...}

问题:XYZ的多个对象能否扩展ABC的同一个对象**所以,如果我已经有了扩展XYZ1的对象ABC1,我可以创建XYZ2并让它也扩展ABC1吗

似乎用户应该有一个组。根据您的型号,他们可以有一个或多个组。因此,我的建议是:

class Group {
  String name
}
用户的关联

class User {
  Group userGroup
}


您创建类的方式似乎是一个组就是一个用户,我认为这不是您想要实现的。

您可能需要一组用户而不是一组用户来实现这一点。

很抱歉,我可能没有领会您的意思,但听起来您在寻找行级(或实例级)访问控制。例如,您似乎只希望某些用户(特定组中的用户)能够访问(查看、编辑等)对象(例如,同一组对象)

如果这是您的意图,那么我建议您看看shiro插件——在我看来,它比Spring Secuity更好地实现实例级ACL

还有一个新插件通过SpringSecurity集成了shiro ACL。我自己还没有测试过,但如果你已经将Spring Security集成到你的应用程序中,那么这可能是一个不错的选择


也许这个团体是一个坏例子……但我们可以说它是一个雇主。我知道这种解决方法,但我正在寻找,并且更喜欢一种解决方案,在这种解决方案中,我可以(如果可能的话)让一个雇主只对管理此雇主档案的一组用户开放。谢谢你,塞尔吉奥。在这种情况下,我的例子适用。您有一个用户,用户有一个或多个雇主配置文件,他可以更改数据。你可以创建一个过滤器,如果某个用户试图访问他无权访问的雇主的控制器操作,该过滤器将返回拒绝访问。谢谢你,我会看一看,我已经更新了这个问题,所以现在可能更清楚了。再看一看,想一想,看来这是解决我问题的最好办法。谢谢你,谢谢你尝试回答我的问题……我重新改写了它,因为它更像是一个一般性的问题。类名使它具有误导性。谢谢你尝试回答我的问题…因为它更像是一个一般性问题,所以我重新编写了它。类名使它具有误导性。某些对象扩展了另一个对象?我不明白。或者你说的是某个类扩展了另一个类?我也不明白。首先,您的
ABC
正在扩展
XYZ
,然后您需要多个
XYZ
来扩展
ABC
?不,不可能。你不能有循环继承……金照:ABC域类,一个ABC对象/grails中ABC的实例是一样的,不是吗?不,我是说实例XYZ1,XYZ2,XYZ3可以扩展ABC1,所以当然不是循环的,请你把问题弄清楚。当我读到它的时候。您询问的是实例是否可以相互扩展,而只有类可以扩展。这没有任何意义,所以你会让人们猜测你的意思。
class User {
  static hasMany = [groups: Group]
}