Это пример кода метода getCurrentUser() в службе Spring Security.Безопасность Grails & spring, получающая идентификатор текущего зарегистрированного пользователя
class SomeController {
def springSecurityService
def someAction() {
def user = springSecurityService.currentUser
}
}
Как получить идентификатор зарегистрированного пользователя и использовать его в этом <g:link action="show" controller="User" id="">Show Profile</g:link>
это не работает ' Показать профиль' и у меня уже есть этот 'def springSecurityService' в моем контроллере –
Jan
@MuduM Этот код должен быть в контроллере, а не в GSP. Разумеется, услуги не вводятся в GSP. В контроллере вы должны добавить результирующий идентификатор к модели, а затем вы можете использовать его в GSP – lukelazarovic
Это очень неэффективный способ сделать это. Метод getCurrentUser() 'поступает в базу данных, используя информацию в памяти, хранящуюся в' Authentication', и выполнив это, вы получите идентификатор экземпляра. Но он уже был в памяти, не теряя при этом обращения к базе данных. См. Мой ответ. –