首页 文章

Grails - 扩展实例

提问于
浏览
0

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

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

谢谢大家

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

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

class ABC extends XYZ{...}

class XYZ{...}

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

3 回答

  • 0

    对不起,我可能会错过你的观点,但听起来你正在寻找行级(或实例级)访问控制 . 例如,您似乎只想要某些用户(特定组内的用户)能够访问(查看,编辑等)对象(例如,同一组对象) .

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

    http://grails.org/plugin/shiro

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

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

  • 0

    您可能需要Hierarchical Roles而不是一组用户来执行此操作 .

  • 2

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

    class Group {
      String name
    }
    

    User 联系:

    class User {
      Group userGroup
    }
    

    要么

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

    在您创建类的方式中,似乎是 group is a user 而我认为这不是您想要实现的目标 .

相关问题