我目前正在为https://symfony.com/doc/current/controller.html中所述的Symfony会话而苦苦挣扎。 在我的项目中,我具有以下控制器方法:
/**
* @Route("/update", name="update")
*/
public getUserProfile(ProfileDTO $profileDTO, SessionInterface $session) : Response {
$token = $session->get('token');
$userId = $this->sessionRepository->lookUp($token);
$this->userService->update($userId, $profileDTO);
}
因此,基本上,当用户登录时,我想在session变量和数据库中存储会话的唯一令牌。然后,当他想更新自己的个人资料时,我想从sessionvariable中读取他的令牌。 但是,如果会话超时(例如,如果用户在上次登录后一周内尝试更新其个人资料)会怎样?调用$ session-> get('token')会返回null吗?我在文档(https://symfony.com/doc/current/components/http_foundation/sessions.html)中找不到此信息
提前感谢您的任何建议!
答案 0 :(得分:0)
yes, this will return null. If you have the default session settings, your session will end when you close and restart your browser, this way you can verify my answer easily :)