Как я могу получить сеанс из объекта команды?Получить сессию в командном объекте в Grails
Я пробовал:
import org.springframework.security.context.SecurityContextHolder as SCH
class MyCommand {
def session = RCH.currentRequestAttributes().getSession()
}
Это проливает
java.lang.IllegalStateException: запрос Нет потока переплете не найдено: Вы имеете в виду атрибуты запроса за пределами фактического веб-запроса, или обработки запрос за пределами исходного потока? Если вы действительно работаете в веб-запросе и все еще получаете это сообщение, ваш код, вероятно, работает за пределами DispatcherServlet/DispatcherPortlet: в этом случае используйте RequestContextListener или RequestContextFilter, чтобы выставить текущий запрос.
Спасибо, так мне нужно вызвать «someMethod()» из моего валидатора? – RyanLynch
Нет, вы можете получить доступ к SRH.request.session внутри своего валидатора напрямую, так как он будет вызываться в контексте HTTP-запроса. Вы просто не можете определить его как поле. –