0

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

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

谢谢大家

- - - -编辑 - - - -

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

class ABC extends XYZ{...}

class XYZ{...}

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

4

3 回答 3

2

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

class Group {
  String name
}

关联User

class User {
  Group userGroup
}

或者

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

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

于 2013-03-12T22:16:56.240 回答
0

您可能需要分层角色而不是一组用户来执行此操作。

于 2013-03-13T03:34:21.730 回答
0

抱歉,我可能错过了您的观点,但听起来您正在寻找行级(或实例级)访问控制。例如,您似乎只希望某些用户(特定组内的用户)能够访问(查看、编辑等)对象(例如,同一个组对象)。

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

http://grails.org/plugin/shiro

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

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

于 2013-03-13T03:42:46.797 回答