<?php
/**
* Security Controller
*
* @author Vincent van Waasbergen <v.vanwaasbergen@visualmedia.nl>
* @author Gideon Oudhuis <g.oudhuis@visualmedia.nl>
*/
namespace VisualMedia\SecurityBundle\Controller;
use Symfony\Bridge\Twig\TokenParser\DumpTokenParser;
use Symfony\Component\Cache\Adapter\AdapterInterface;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Security\Core\Exception\AuthenticationException;
use Symfony\Component\Security\Core\Security;
use Symfony\Component\Security\Http\Authentication\AuthenticationUtils;
use VisualMedia\LisaBundle\Controller\BaseController;
use VisualMedia\SecurityBundle\Form\Type\FrontendLoginType;
use VisualMedia\SecurityBundle\Form\Type\ManageLoginType;
use VisualMedia\SecurityBundle\Security\BaseLoginFormAuthenticator;
use VisualMedia\SecurityBundle\Service\LoginHandler;
/**
* Security Controller
*/
class SecurityController extends BaseController
{
/**
* @param Request $request
* @return Response
*/
public function backendLoginAction(Request $request): Response
{
$authenticationUtils = $this->get(AuthenticationUtils::class);
$lastUsername = $authenticationUtils->getLastUsername();
// Get the login error if there is one.
// $error = $authenticationUtils->getLastAuthenticationError();
// $form = $this->createForm(ManageLoginType::class, array(
// '_username' => $lastUsername,
// ));
// $form->handleRequest($request);
return $this->render('@VisualMediaSecurity/Security/login.html.twig', array(
'last_username' => $lastUsername,
'block' => false,
// 'form' => $form->createView(),
// 'error' => $error,
));
}
/**
* @param Request $request
* @return Response
*/
public function ssiBackendLoginFormAction(Request $request, $template = '@VisualMediaSecurity/Security/login_form.html.twig', $redirect_url = null): Response
{
$masterRequest = $this->get('request_stack')->getMasterRequest();
$authenticationUtils = $this->get(AuthenticationUtils::class);
$lastUsername = $authenticationUtils->getLastUsername();
$error = $authenticationUtils->getLastAuthenticationError();
$request->attributes->set('template', $template);
$request->attributes->set('redirect_url', $redirect_url);
$form = $this->createForm(ManageLoginType::class, array(
'_username' => $lastUsername,
LoginHandler::RETURN_URL => $redirect_url,
));
$form->handleRequest($masterRequest);
return $this->render($template, array(
'error' => $error,
'form' => $form->createView(),
'last_username' => $lastUsername,
'block' => false,
));
}
/**
* @param Request $request
* @return Response
*/
public function frontendLoginAction(Request $request): Response
{
$authenticationUtils = $this->get(AuthenticationUtils::class);
$lastUsername = $authenticationUtils->getLastUsername();
// Get the login error if there is one.
// $error = $authenticationUtils->getLastAuthenticationError();
// $form = $this->createForm(FrontendLoginType::class, array(
// '_username' => $lastUsername,
// ));
// $form->handleRequest($request);
return $this->render('@VisualMediaSecurity/Security/frontend_login.html.twig', array(
'last_username' => $lastUsername,
'block' => false,
// 'form' => $form->createView(),
// 'error' => $error,
));
}
/**
* @param Request $request
* @return Response
*/
public function ssiFrontendLoginFormAction(Request $request, $template = '@VisualMediaSecurity/Security/frontend_login_form.html.twig', $redirect_url = null): Response
{
$masterRequest = $this->get('request_stack')->getMasterRequest();
$authenticationUtils = $this->get(AuthenticationUtils::class);
$lastUsername = $authenticationUtils->getLastUsername();
$error = $authenticationUtils->getLastAuthenticationError();
$request->attributes->set('template', $template);
$request->attributes->set('redirect_url', $redirect_url);
$form = $this->createForm(FrontendLoginType::class, array(
'_username' => $lastUsername,
LoginHandler::RETURN_URL => $redirect_url,
));
$form->handleRequest($masterRequest);
return $this->render($template, array(
'error' => $error,
'form' => $form->createView(),
'last_username' => $lastUsername,
'block' => false,
));
}
}