2012-03-10 6 views
1

のファーストネームを与えてspringSecurityService.principal.id、私はheader.gspでsession.loginIdを読むではなく、私は自分のアプリケーションにとappStartupControllerでユーザログイン後springSecurityCoreプラグインを使用していたユーザーID

def index = { 
    if (springSecurityService.isLoggedIn()) { 
     session.loginId=springSecurityService.principal.id 
     def userRole=UserRole.findAllByUserAndRole(User.get(session.loginId), Role.findByAuthority('ROLE_USERSDASH')) 
     if(userRole){ 
     redirect(controller:'dashboard',action:'getRiskUserDashboard') 
     } 
    } 
} 

好きですUserテーブルのfirstnameが表示されています。 私は、session.loginIdにマップされたUserテーブルのuserIdフィールドを持つ必要があります。 どうすればいいですか?

+0

答えはありませんが、SpringSecurityUtils.ifAllGranted( 'ROLE_USERSDASH') – aldrin

答えて

4

は、次の操作を呼び出すことで、現在のユーザーを取得することができます:

def user = springSecurityService.getCurrentUser() 

そしてちょうど方法を見つけるのUserRoleに、そのユーザーを渡します。

+0

によって、より簡単に役割を確認できます。 –

関連する問題