나는 관리 번들을 만듭니다. 사용자가 로그인했는지 확인하기 위해 자신의 논리를 사용하고 있습니다. 그러나 사용자가 로그인하지 않은 경우에는 리디렉션되지 않습니다. isLoggedIn() 함수가 호출 될 때마다 코드를 디버깅하려고 시도하지만 생성자를 통해 호출되지만 로그인되어 있지 않습니다.리디렉션이 Symfony 2에서 작동하지 않습니다.
내 controoler 코드는 redirect()
방법을 사용하는 경우, 그것은 RedirectResponse
의 인스턴스를 반환하고 액션 메소드에 사용되는
<?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를 사용하고 있습니까? –
처음에는 복잡성이 무서운 것이지만 심포니의 보안 구성 요소를 사용하는 것은 가치가 있다고 생각합니다. – Maerlyn
@Maerlyn 네 말이 맞아. 보안 구성 요소를 사용할 것입니다. 그러나이 문제가 발생한 이유를 확인하고 싶습니다. –