私の質問は次のとおりです:renderEditor.templateで、どのユーザーがログインしており、どのロールを持っているかを知る方法はありますか?
私がしたいこと: 私のアプリでは、ログインしたユーザーが管理者 (「ROLE_ADMIN」) のときにフィールドを変更したい - 通常のユーザーには、デフォルトで選択された html 選択タグのみのオプションがあり、管理者ユーザーがログインするときに、すべてのユーザーのリストが表示されます。
Spring Security Plugin + Grails 2.1.1 を使用しています。
私がすでに試したこと:
- Spring Security Service (
def springSecurityService
) を追加しますが、常に null でした - ブール値の引数を渡してみてください - 効果なし
どんな助けでも大歓迎です!
編集あなたの答えに感謝します。ただし、私の質問は十分に正確ではなかったので、達成したいことをよりよく説明する疑似コードをいくつか含めます (renderTemplate.template のメソッド)
private renderManyToOne(domainClass,property) {
if (property.association) {
def sb = new StringBuilder()
sb << '<g:select'
...
if (/*loged user is admin*/) {
sb << ' from="${' << property.type.name << '.list()}"'
}else{
sb << ' from="${user}"'/*only loged user can be selected*/
}
...
sb << '/>'
sb as String
}
}