本文整理汇总了PHP中Symfony\Component\Security\Http\Event\InteractiveLoginEvent类的典型用法代码示例。如果您正苦于以下问题:PHP InteractiveLoginEvent类的具体用法?PHP InteractiveLoginEvent怎么用?PHP InteractiveLoginEvent使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了InteractiveLoginEvent类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: onAuthenticationSuccess
/**
* onAuthenticationSuccess
*
*/
public function onAuthenticationSuccess(InteractiveLoginEvent $event)
{
$user = $event->getAuthenticationToken()->getUser();
//envoie mail
$message = \Swift_Message::newInstance()->setSubject('onAuthenticationSuccess')->setFrom(array('send@example.com' => 'L\'équipe technique du monsite.com'))->setTo('m.hajbelgacem@gmail.com')->setBody($user . ' est maintenant connecté à ton site ');
$this->mailer->send($message);
}
示例2: onSecurityInteractiveLogin
public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
{
$user = $event->getAuthenticationToken()->getUser();
if ($user instanceof UserInterface) {
// default FOS security checks
if ($user->getExpiresAt()) {
$daysToExpire = $user->getExpiresAt()->diff(new \DateTime());
if ($daysToExpire->format('%a') >= 0) {
$this->session->set('_bruery_user.account_expired.' . $user->getId(), 'account_expired');
}
}
if ($user->getCredentialsExpireAt()) {
$daysToExpire = $user->getCredentialsExpireAt()->diff(new \DateTime());
if ($daysToExpire->format('%a') >= 0) {
$this->session->set('_bruery_user.credentials_expired.' . $user->getId(), 'credentials_expired');
}
}
if ($this->configManager->isEnabled()) {
//password expire
if ($this->configManager->getDaysToExpire() && $this->configManager->getRedirectRoute() && $user->getPasswordChangedAt()) {
$daysLastChange = $user->getPasswordChangedAt()->diff(new \DateTime());
if ((int) $daysLastChange->format('%a') > $this->configManager->getDaysToExpire()) {
$this->session->set('_bruery_user.password_expire.' . $user->getId(), 'password_expire');
}
} else {
$user->setPasswordChangedAt(new \DateTime());
$this->userManager->save($user);
}
}
}
}
示例3: onLoginSuccess
public function onLoginSuccess(InteractiveLoginEvent $event)
{
$courses = array();
$user = $event->getAuthenticationToken()->getUser();
// ignore the in_memory user
if ($user instanceof \UBC\Exam\MainBundle\Entity\User) {
$id = $user->getPuid();
if (!empty($id)) {
try {
$sections = $this->service->getStudentCurrentSections($id);
} catch (ClientException $e) {
// the user may not exists in SIS
if (404 == $e->getResponse()->getStatusCode()) {
$sections = array();
} else {
throw $e;
}
} catch (\RuntimeException $e) {
$sections = array();
$this->logger->warn("Failed to load current section for {$id}. Reason: " . $e->getMessage());
}
foreach ($sections as $s) {
$key = $s->getCourse()->getCode() . ' ' . $s->getCourse()->getNumber();
$courses[$key] = $s->getCourse();
}
}
}
$this->session->set('courses', $courses);
}
示例4: onSecurityInteractiveLogin
public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
{
$request = $event->getRequest();
$user = $this->tokenStorage->getToken()->getUser();
$clientIp = $request->getClientIp();
$this->analyticsManager->addEntry($user->getId(), 'login_successful', 0, $clientIp, new DateTime());
}
示例5: onInteractiveLogin
/**
* Updates user with shibboleth data upon login
*
* @param \Symfony\Component\Security\Http\Event\InteractiveLoginEvent $event
*/
public function onInteractiveLogin(InteractiveLoginEvent $event)
{
$token = $event->getAuthenticationToken();
if ($token instanceof ShibbolethUserToken && null !== $this->userProvider) {
$this->userProvider->updateUser($token);
}
}
示例6: onSecurityInteractiveLogin
public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
{
$token = $event->getAuthenticationToken();
if ($this->resolver->isFullFledged($token)) {
$token->setAttribute('last_login', time());
}
}
示例7: onInteractiveLogin
/**
* @param InteractiveLoginEvent $event
*/
public function onInteractiveLogin(InteractiveLoginEvent $event)
{
$user = $event->getAuthenticationToken()->getUser();
if (null !== $user->getLocale()) {
$this->session->set('_locale', $user->getLocale());
}
}
示例8: onSecurityInteractiveLogin
/**
* @param InteractiveLoginEvent $event
*/
public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
{
$user = $event->getAuthenticationToken()->getUser();
if ($user instanceof UserInterface) {
$this->updateUserLastLogin($user);
}
}
示例9: onSecurityInteractiveLogin
/**
* Do the magic.
*
* @param InteractiveLoginEvent $event
*/
public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
{
if ($this->securityContext->isGranted('IS_AUTHENTICATED_FULLY')) {
// user has just logged in
}
if ($this->securityContext->isGranted('IS_AUTHENTICATED_REMEMBERED')) {
// user has logged in using remember_me cookie
}
// do some other magic here
$session = $event->getRequest()->getSession();
$referrer = $session->get('referrer');
if (empty($referrer)) {
$referrer = $event->getRequest()->getUri();
}
$user = $event->getAuthenticationToken()->getUser();
$log = new Log();
$log->setIdUsuario($user);
$log->setDtAcao(new \DateTime());
$log->setNmTabela('acesso');
$log->setCsAcao('ACE');
$log->setTeIpOrigem($event->getRequest()->getClientIp());
$log->setNmScript($referrer);
// Registra login
$this->em->persist($log);
$this->em->flush();
// TODO: Redireciona para útima página visitada
}
示例10: onKernelLogOk
public function onKernelLogOk(InteractiveLoginEvent $event)
{
$ip = $_SERVER['REMOTE_ADDR'];
$token = $event->getAuthenticationToken();
$request = $event->getRequest();
echo "<pre>";
print_r($token);
echo "</pre>";
die('Interactivelogin');
//$user = $token->getUser();
/*
$session = new Session();
if(gettype($user) != 'string'){
$log = new Log();
$log->setUser($user);
$log->setIp($ip);
$this->em->persist($log);
$user->setLogged(true);
$user->setTimeUpdate(new \DateTime());
$user->setLogIn($log);
$this->em->flush();
//*/
//}
}
示例11: onSecurityInteractiveLogin
/**
* @param InteractiveLoginEvent $event
*/
public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
{
if ($event->getAuthenticationToken()->getUser() instanceof AccountUser) {
$request = $event->getRequest();
$request->attributes->set('_fullRedirect', true);
}
}
示例12: onInteractiveLogin
public function onInteractiveLogin(InteractiveLoginEvent $event)
{
$user = $event->getAuthenticationToken()->getUser();
if ($user instanceof User) {
$user->setLastLoginAt(new \DateTime());
$this->userManager->editLastLogin($user);
}
}
示例13:
function it_updates_user_last_login_on_security_interactive_login(InteractiveLoginEvent $event, TokenInterface $token, UserInterface $user, $userManager)
{
$event->getAuthenticationToken()->shouldBeCalled()->willReturn($token);
$token->getUser()->shouldBeCalled()->willReturn($user);
$userManager->persist($user)->shouldBeCalled();
$userManager->flush()->shouldBeCalled();
$this->onSecurityInteractiveLogin($event);
}
示例14: onInteractiveLogin
/**
* @param InteractiveLoginEvent $interactiveLoginEvent
*/
public function onInteractiveLogin(InteractiveLoginEvent $interactiveLoginEvent)
{
$user = $interactiveLoginEvent->getAuthenticationToken()->getUser();
if (!$user instanceof UserInterface) {
return;
}
$this->blame($user);
}
示例15: setLocaleForAuthenticatedUser
/**
* security.interactive_login event. If a user chose a locale in preferences, it would be set,
* if not, a locale that was set by setLocaleForUnauthenticatedUser remains.
*
* @param \Symfony\Component\Security\Http\Event\InteractiveLoginEvent $event
*/
public function setLocaleForAuthenticatedUser(InteractiveLoginEvent $event)
{
/** @var \OS\UserBundle\Entity\User $user */
$user = $event->getAuthenticationToken()->getUser();
if ($user->getLocale()) {
$event->getRequest()->setLocale($user->getLocale());
}
}