Grails - 扩展实例

时间:2013-03-12 21:41:02

标签: java grails groovy

我已经和Grails工作了几个月了,我偶然发现了一些......

所以我安装了一个安装了Spring Security的小应用程序并使用户等。

提前谢谢大家

------- -------- EDIT

为了使问题更简单直接,请忘记班级名称。

class ABC extends XYZ{...}

class XYZ{...}

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

3 个答案:

答案 0 :(得分:2)

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

class Group {
  String name
}

User的关联:

class User {
  Group userGroup
}

class User {
  static hasMany = [groups: Group]
}

在您创建课程的方式中,似乎群组是用户,我认为这不是您想要实现的目标。

答案 1 :(得分:0)

您可能需要Hierarchical Roles而非一组用户才能这样做。

答案 2 :(得分:0)

抱歉,我可能会忽略您的观点,但听起来您正在寻找行级(或实例级)访问控制。例如,您似乎只想要某些用户(某个组内的用户)能够访问(查看,编辑等)一个对象(例如同一个组对象)。

如果这是你的意图,那么我建议你看看shiro插件 - 在我看来,它比Spring Secuity更能实现实例级ACL。

http://grails.org/plugin/shiro

还有一个新的插件,通过Spring Security集成了shiro ACL。没有自己测试过,但如果你已经将Spring Security集成到你的应用程序中,那么看起来可能就是这样。

http://grails.org/plugin/spring-security-shiro