GrailsプロジェクトのSpringSecurityUserクラスを拡張する2つの子クラスがあります。例:
class MyUserOne extends User {
def email
def address
}
class MyUserTwo extends User {
def company
def town
}
BootStrapにいくつかのMyUserOneオブジェクトとMyUserTwoオブジェクトを作成し、それらをテストデータベースに保存しますが、... MyUserOneユーザーのようにログインし、.gspファイルで電子メールフィールドにアクセスしようとすると、次のようになります。
<sec:loggedInUserInfo field="email"/>
「email」はクラスUserのプロパティではないという例外がスローされ、それは本当ですが、子クラスのフィールドにアクセスするにはどうすればよいですか?私はこのコードフラグメントでこれを「解決」しました:
def user = springSecurityService.currentUser
[userInstance: user]
任意のコントローラーで、フィールドにアクセスできます
${userInstance.email}
...しかし、これを行うと、同じユーザーオブジェクトが2回あります(userInstanceとspringSecurityService、これは正しい方法ではないと思います) 。
解決策はありますか?
ありがとう