我如何測試會話是否存在於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