In between commit implementation securitycontroller

This commit is contained in:
Kevin Frantz 2018-09-06 16:46:33 +02:00
parent 7a859080e5
commit 0c689194a2
6 changed files with 56 additions and 22 deletions

View File

@ -8,13 +8,16 @@ security:
entity:
class: App\Entity\User
property: username
in_memory: { memory: ~ }
#in_memory: { memory: ~ }
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
anonymous: true
form_login:
login_path: login
check_path: login
# activate different ways to authenticate

View File

@ -0,0 +1,31 @@
<?php
namespace App\Controller;
use Symfony\Component\Security\Http\Authentication\AuthenticationUtils;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
/**
*
* @author kevinfrantz
*
*/
class SecurityController extends AbstractController
{
/**
*
* @Route("/login", name="login")
*/
public function login(AuthenticationUtils $authenticationUtils): Response
{
$error = $authenticationUtils->getLastAuthenticationError();
if ($error) {
$this->addFlash('notice', $error);
}
return $this->render("user/login.html.twig",[
'last_username'=>$authenticationUtils->getLastUsername(),
]);
}
}

View File

@ -4,6 +4,7 @@ namespace App\Controller;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Security\Http\Authentication\AuthenticationUtils;
/**
*
@ -12,7 +13,9 @@ use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
*/
class UserController extends AbstractController implements UserControllerInterface
{
/**
*
* @Route("/user/logout", name="user_logout")
*/
public function logout(): Response
@ -21,14 +24,7 @@ class UserController extends AbstractController implements UserControllerInterfa
}
/**
* @Route("/user/login", name="user_login")
*/
public function login(): Response
{
return $this->render("user/login.html.twig");
}
/**
*
* @Route("/user/register", name="user_register")
*/
public function register(): Response

View File

@ -2,6 +2,7 @@
namespace App\Controller;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Security\Http\Authentication\AuthenticationUtils;
/**
*
@ -12,7 +13,5 @@ interface UserControllerInterface
{
public function logout():Response;
public function login():Response;
public function register():Response;
}

View File

@ -62,7 +62,7 @@ class UserMenuSubscriber implements EventSubscriberInterface
$dropdown->addChild(
'login',
[
'route' => 'user_login',
'route' => 'login',
'attributes' => [
'divider_append' => true,
'icon' => 'fas fa-sign-in-alt',

View File

@ -1,20 +1,25 @@
{% extends "frames/default.html.twig" %}
{% block title %}
login
{% trans %}login{% endtrans %}
{% endblock %}
{% block content %}
<h1>Login</h1>
<form method='post'>
<h1>
{% trans %}login{% endtrans %}
</h1>
<form method={{ path('login') }}>
<div class="form-group">
<label for="email">Email address</label> <input type="email"
name="email" class="form-control" id="email"
aria-describedby="emailHelp" placeholder="Enter email">
<label for="username">{% trans %}Username{% endtrans %}</label> <input
type="username" name="username" class="form-control" id="username"
aria-describedby="usernameHelp"
placeholder="{% trans %}Enter username{% endtrans %}'">
</div>
<div class="form-group">
<label for="password">Password</label> <input type="password"
name="password" class="form-control" id="password"
placeholder="Password">
<label for="password">{% trans %}Password{% endtrans %}</label> <input
type="password" name="password" class="form-control" id="password"
placeholder="{% trans %}Password{% endtrans %}">
</div>
<button type="submit" class="btn btn-primary">Submit</button>
<button type="submit" class="btn btn-primary">
{% trans %}Submit{% endtrans %}
</button>
</form>
{% endblock %}