2014-03-27 116 views
1

我想在会话过期时重定向到登录页面。现在会发生什么:会话过期时重定向到登录页面+ silex

当您例如登录并在仪表板上时,您会在右上角看到您的用户名。但是,如果您在2小时左右没有做任何事情,然后刷新,则会出现无法访问NULL属性“用户名”的错误。这是因为您已注销...但是当会话过期时,如何重定向到登录页面?

我知道我可以增加到期时间,但我不知道我怎么可以重定向..

回答

6

检查,如果用户名在会话

/* NATIVE PHP */ 
if (!isset($_SESSION['username'])) { 
    header('Location: login.php'); 
    exit; 
} 

/* Symfony Syntax - thanks @Touki */ 
if (!$request->getSession()->get('username')) { 
    return new RedirectResponse('login', 301); 
} 
+0

设定而我只是复制粘贴此我总体布局视图? – nielsv

+1

只是不。改为使用symfony的请求抽象。 '$ request-> getSession() - > get('username')''并返回新的RedirectResponse('login',301)' – Touki

+0

你是对的@Touki - 谢谢!我编辑了我的帖子 – MaiKaY

相关问题