springSecurityService.principal.id давая имя вместо идентификатора пользователя - PullRequest
1 голос
/ 10 марта 2012

Я использую плагин springSecurityCore в своем приложении, и после входа пользователя в appStartupController мне нравится

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')
      }
   }
}

когда я читаю session.loginId в header.gsp, я вижу имя из таблицы Userпечатается.Мне нужно, чтобы поле userId в таблице User было сопоставлено с session.loginId.Как это сделать?

1 Ответ

4 голосов
/ 10 марта 2012

Вы можете получить текущего пользователя, позвонив по следующему номеру:

def user = springSecurityService.getCurrentUser()

А затем просто передайте этого пользователя в метод поиска UserRole.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...