symfony 4会话超时

时间:2019-01-07 00:12:28

标签: symfony session

我目前正在为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)中找不到此信息

提前感谢您的任何建议!

1 个答案:

答案 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 :)