1

私は acegi は初めてで、Grails は比較的新しいです。

チュートリアルに従って、新しい役割と新しいユーザーを設定しました。ユーザーを(ロールをチェックして)保存するたびに、ユーザー情報は正常に保存されましたが、ユーザーに関連付けられたロールは保存されませんでした。

最後に、生成されたコントローラー コードを調べたところ、次のことに気付きました。

private void addRoles(person) {
    for (String key in params.keySet()) {
        if (key.contains('ROLE') && 'on' == params.get(key)) {
            Authority.findByAuthority(key).addToPeople(person)
        }
    }
}

それで、私がそれを正しく解釈していることを確認するために、ROLE という単語を自分の権限に追加しました。それは魅力的に機能しました。明らかな何かが欠けていますか、これはバグですか、それとも.......?

例では、「user」や「manager」などの単純な役割名を示しました。

4

1 に答える 1

0

すべてのAcegiオーソリティはROLE_somethingである必要があります。デフォルトのプレフィックス設定をROLE_から別の設定に変更することができます:http ://www.acegisecurity.org/acegi-security/apidocs/org/acegisecurity/runas/RunAsManagerImpl.html

于 2009-07-27T00:50:59.753 に答える