我正在使用Silex(基于Symfony2的微框架)。
当一个会话到期时(比如两个小时没有活动),我刷新页面时,总是会收到错误消息,他无法在空属性上找到属性displayName。因为在布局视图中,我有:
{{ app.user.displayName }}
。(这是合乎逻辑的)
现在我想在用户未登录时重定向到登录页面。我在$app->在此之前:
$app->before(function (Request $request) use($app) {
if ($request->getMethod() === "OPTIONS") {
$response = new Response();
$response->headers->set("Access-Control-Allow-Origin","*");
$response->headers->set("Access-Control-Allow-Methods","GET,POST,PUT,DELETE,OPTIONS");
$response->headers->set("Access-Control-Allow-Headers","Content-Type");
$response->headers->set("Access-Control-Expose-Headers","handshake");
$response->setStatusCode(200);
$response->send();
}
if ($app['security']->isGranted('IS_AUTHENTICATED_ANONYMOUSLY')) {
return $app->redirect('/login');
}
});
但当我这样做时,我总是会出错:
ERR_TOO_MANY_REDIRECTS
。但我该怎么解决?