Файловый менеджер - Редактировать - /home/avadvi5/calendar.aeronextgen.com/davis/src/Security/LoginFormAuthenticator.php
Ðазад
<?php namespace App\Security; use Symfony\Component\HttpFoundation\RedirectResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Generator\UrlGeneratorInterface; use Symfony\Component\Security\Core\Authentication\Token\TokenInterface; use Symfony\Component\Security\Core\Exception\CustomUserMessageAuthenticationException; use Symfony\Component\Security\Csrf\CsrfTokenManagerInterface; use Symfony\Component\Security\Http\Authenticator\AbstractLoginFormAuthenticator; use Symfony\Component\Security\Http\Authenticator\Passport\Badge\CsrfTokenBadge; use Symfony\Component\Security\Http\Authenticator\Passport\Badge\UserBadge; use Symfony\Component\Security\Http\Authenticator\Passport\Passport; use Symfony\Component\Security\Http\Authenticator\Passport\SelfValidatingPassport; use Symfony\Component\Security\Http\SecurityRequestAttributes; use Symfony\Component\Security\Http\Util\TargetPathTrait; class LoginFormAuthenticator extends AbstractLoginFormAuthenticator { use TargetPathTrait; private $urlGenerator; private $csrfTokenManager; private $adminLogin; private $adminPassword; public function __construct(UrlGeneratorInterface $urlGenerator, CsrfTokenManagerInterface $csrfTokenManager, string $adminLogin, string $adminPassword) { $this->urlGenerator = $urlGenerator; $this->csrfTokenManager = $csrfTokenManager; $this->adminLogin = $adminLogin; $this->adminPassword = $adminPassword; } protected function getLoginUrl(Request $request): string { return $this->urlGenerator->generate('app_login'); } public function supports(Request $request): bool { return 'app_login' === $request->attributes->get('_route') && $request->isMethod('POST'); } public function authenticate(Request $request): Passport { $credentials = [ 'username' => $request->request->get('_username'), 'password' => $request->request->get('_password'), 'csrf_token' => $request->request->get('_csrf_token'), ]; $request->getSession()->set( SecurityRequestAttributes::LAST_USERNAME, $credentials['username'] ); if ($credentials['username'] !== $this->adminLogin) { // fail authentication with a custom error throw new CustomUserMessageAuthenticationException('Username could not be found.'); } if ($credentials['password'] !== $this->adminPassword) { // fail authentication with a custom error throw new CustomUserMessageAuthenticationException('Invalid credentials.'); } return new SelfValidatingPassport( new UserBadge($this->adminLogin), [new CsrfTokenBadge('authenticate', $credentials['csrf_token'])] ); } public function onAuthenticationSuccess(Request $request, TokenInterface $token, $providerKey): ?Response { if ($targetPath = $this->getTargetPath($request->getSession(), $providerKey)) { return new RedirectResponse($targetPath); } return new RedirectResponse($this->urlGenerator->generate('dashboard')); } }
| ver. 1.1 | |
.
| PHP 8.3.30 | Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ñтраницы: 0 |
proxy
|
phpinfo
|
ÐаÑтройка