我如何测试会话是否存在于symfony中? 没有框架,我们继续是这样的:如何测试会话是否已经存在?
<?php
if(isset($_SESSION['login'])) {
echo 'Bonjour '.$_SESSION['login'].' vous etes connecté.<br>';
}
?>
如何在与Request对象symfony的控制器会话服务做到这一点?
我如何测试会话是否存在于symfony中? 没有框架,我们继续是这样的:如何测试会话是否已经存在?
<?php
if(isset($_SESSION['login'])) {
echo 'Bonjour '.$_SESSION['login'].' vous etes connecté.<br>';
}
?>
如何在与Request对象symfony的控制器会话服务做到这一点?
在Symfony中,session
服务是Symfony\Component\HttpFoundation\Session\Session
的一个实例。也就是说,session
确实提供了几种方法来检查或操作会话。
你的具体情况,你会做这样的事情:
$session = $request->getSession();
if ($session->has('login')){
$message = 'Bonjour '.$session->get('login').' vous etes connecté.<br>';
}
但是,又注意到@Gerry的评论,他的问题是一个非常有效的一个。
希望这有助于...
这是它的兄弟,非常感谢^^ –
虽然这似乎是OP想要的,但我想指出这不是检查身份验证/授权的正确方法,在这些情况下,安全组件应该用来代替直接操作相关的会话数据。 – Gerry
@Gerry我完全同意:) –
您是否有兴趣知道会话是否已开始,或者您想知道用户是否已通过身份验证? – Gerry
我想知道会话是否已经打开,例如,当我访问我的主页时!如果我已经连接(会话已经打开),我直接进入我的个人空间,如果没有,我将被重定向到连接页面! (原谅我的坏话) –
知道会话是开放的还是知道某人是否已登录(因此您可以重定向到他的个人空间),这两个完全不同的问题。在我看来,您想知道用户是否已通过身份验证。 – Gerry