0

私はGrailsを数か月使用していますが、何かに遭遇しました...

だから私はSpring Securityをインストールしてユーザーなどを作った小さなアプリケーションを持っています.

よろしくお願いします

- - - -編集 - - - -

質問をより単純でわかりやすいものにするために、クラス名は忘れてください。

class ABC extends XYZ{...}

class XYZ{...}

質問: XYZ の複数のオブジェクトは、ABC の同じオブジェクトを拡張できますか? **XYZ1 を拡張するオブジェクト ABC1 が既にある場合、XYZ2 を作成して ABC1 も拡張することはできますか?

4

3 に答える 3

2

ユーザーにはグループが必要なようです。モデルによっては、1 つ以上のグループを持つことができます。だから私の提案:

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プラグインを見ることをお勧めします-私の意見では、SpringSecuityよりもインスタンスレベルのACLを実行します。

http://grails.org/plugin/shiro

SpringSecurityを介してshiroACLを統合する新しいプラグインもあります。自分でテストしたことはありませんが、Spring Securityをアプリにすでに統合している場合は、それが道のりのようです。

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

于 2013-03-13T03:42:46.797 に答える