Added a lastLoginAt field to the User entity
This commit is contained in:
parent
26527d8057
commit
adba578db8
@ -307,4 +307,31 @@ class User implements UserInterface, AdvancedUserInterface
|
||||
{
|
||||
return ($this->accepted_by !== null);
|
||||
}
|
||||
/**
|
||||
* @var datetime $last_login_at
|
||||
*/
|
||||
private $last_login_at;
|
||||
|
||||
|
||||
/**
|
||||
* Set last_login_at
|
||||
*
|
||||
* @param datetime $lastLoginAt
|
||||
* @return User
|
||||
*/
|
||||
public function setLastLoginAt($lastLoginAt)
|
||||
{
|
||||
$this->last_login_at = $lastLoginAt;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get last_login_at
|
||||
*
|
||||
* @return datetime
|
||||
*/
|
||||
public function getLastLoginAt()
|
||||
{
|
||||
return $this->last_login_at;
|
||||
}
|
||||
}
|
@ -21,6 +21,10 @@ KekRozsak\FrontBundle\Entity\User:
|
||||
display_name:
|
||||
type: string(50)
|
||||
nullable: false
|
||||
last_login_at:
|
||||
type: datetime
|
||||
nullable: true
|
||||
default: null
|
||||
oneToMany:
|
||||
articles:
|
||||
targetEntity: Article
|
||||
|
@ -1,6 +1,10 @@
|
||||
parameters:
|
||||
# kek_rozsak_security.example.class: KekRozsak\SecurityBundle\Example
|
||||
|
||||
services:
|
||||
kek_rozsak_security.encoder.crypt:
|
||||
class: KekRozsak\SecurityBundle\Service\CryptEncoder
|
||||
security.authentication.success_handler:
|
||||
class: KekRozsak\SecurityBundle\Security\AuthSuccess
|
||||
public: false
|
||||
arguments:
|
||||
doctrine: @doctrine
|
||||
|
28
src/KekRozsak/SecurityBundle/Security/AuthSuccess.php
Normal file
28
src/KekRozsak/SecurityBundle/Security/AuthSuccess.php
Normal file
@ -0,0 +1,28 @@
|
||||
<?php
|
||||
namespace KekRozsak\SecurityBundle\Security;
|
||||
|
||||
use Symfony\Component\Security\Http\Authentication\AuthenticationSuccessHandlerInterface;
|
||||
use Doctrine\ORM\EntityManager;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
|
||||
use Symfony\Bridge\Doctrine\RegistryInterface;
|
||||
|
||||
class AuthSuccess implements AuthenticationSuccessHandlerInterface
|
||||
{
|
||||
private $doctrine;
|
||||
|
||||
public function __construct(RegistryInterface $doctrine)
|
||||
{
|
||||
$this->doctrine = $doctrine;
|
||||
}
|
||||
|
||||
public function onAuthenticationSuccess(Request $request, TokenInterface $token)
|
||||
{
|
||||
$user = $token->getUser();
|
||||
$em = $this->doctrine->getEntityManager();
|
||||
$user->setLastLoginAt(new \DateTime('now'));
|
||||
$em->persist($user);
|
||||
$em->flush();
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user