我創建了一個管理包。我使用自己的邏輯來檢查用戶是否登錄。但是,如果用戶沒有登錄,則不會重定向。每當索引操作調用isLoggedIn()函數時通過構造函數調用但重定向部分登錄不起作用。重定向不在Symfony 2中工作
我controoler代碼
<?php
namespace Nitin\AdminBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Bitcoin\AdminBundle\BitcoinAdminBundle;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\RedirectResponse;
class AdminController extends Controller {
public $session;
public $container;
public $pageData;
public function __construct() {
$this->container = NitinAdminBundle::getContainer();
$this->session = $this->container->get('session');
$this->isLoggedIn();
}
public function indexAction(Request $request) { //die(''.__LINE__);
return $this->render('NitinAdminBundle:Default:index.html.twig');
}
public function isLoggedIn() {
$isLoggedin = $this->session->get('loggedIn', FALSE);
if (FALSE === $isLoggedin) {
return $this->redirect($this->generateUrl('nitin_admin_login'));
}
return false;
}
public function logoutAction() {
$this->session->invalidate();
return $this->redirect($this->generateUrl('nitin_admin_login'));
}
}
你爲什麼要用__constructor? –
我知道複雜性一開始是可怕的,但是真的值得使用symfony的安全組件。 – Maerlyn
@Maerlyn你是對的。我將使用安全組件。 但也想確定爲什麼發生這個問題。 –