Плагин Spring Security Core - Как получить доступ к идентификатору пользователя из контроллера - PullRequest
0 голосов
/ 09 июня 2018

При попытке получить текущий идентификатор пользователя для входа в систему из контроллера возникло сообщение об ошибке.

Сообщение об ошибке: Сообщение Нет подписи метода: static grails.plugin.springsecurity.SpringSecurityService.getCurrentUserId () применимдля типов аргументов: () значения: [] Возможные решения: getCurrentUserId (), getCurrentUser ()

package com.testapp


import grails.plugin.springsecurity.annotation.Secured
import grails.plugin.springsecurity.SpringSecurityService

@Secured('IS_AUTHENTICATED_FULLY')
class TestController {

def myAction(){
   def user = SpringSecurityService.getCurrentUserId() 
}

1 Ответ

0 голосов
/ 09 июня 2018

Метод не является статическим, поэтому вам нужно добавить внедрение зависимостей для одноэлементного компонента Spring и вызвать его как метод экземпляра для этого:

package com.testapp

import grails.plugin.springsecurity.annotation.Secured
import grails.plugin.springsecurity.SpringSecurityService

@Secured('IS_AUTHENTICATED_FULLY')
class TestController {

   SpringSecurityService springSecurityService 

   def myAction() {
      long userId = springSecurityService.getCurrentUserId()
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...