Ich habe versucht, symfony durch Programmierung anmelden, aber wenn Redirect auf neue Route der Benutzer zurück zu Anon. Benutzer.Warum kann ich mich nicht in symfony einloggen?
security.yml
security:
encoders:
Symfony\Component\Security\Core\User\User: plaintext
providers:
in_memory:
memory:
users:
admin:
password: pass
roles: ROLE_ADMIN
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
anonymous: ~
form_login: ~
login_firewall:
pattern: ^/login$
anonymous: ~
secured_area:
pattern: ^/
form_login: ~
access_control:
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/, roles: ROLE_ADMIN }
loginaction
public function loginAction(Request $request)
{
if ($request->getMethod() === 'POST')
{
$firewall = 'main';
$user = new User('User', 'pass', array('ROLE_ADMIN'));
$token = new UsernamePasswordToken($user, $user->getPassword(), $firewall, $user->getRoles());
$this->get("security.token_storage")->setToken($token);
$session = $this->get('session');
$session->set('_security_'.$firewall, serialize($token));
$event = new InteractiveLoginEvent($request, $token);
$this->get("event_dispatcher")->dispatch("security.interactive_login", $event);
return $this->redirect($this->generateUrl('admin'));
}
$authenticationUtils = $this->get('security.authentication_utils');
$error = $authenticationUtils->getLastAuthenticationError();
$lastUsername = $authenticationUtils->getLastUsername();
return $this->render(
'security/login.html.twig',
array(
// last username entered by the user
'last_username' => $lastUsername,
'error' => $error,
)
);
}
Problem: Der Login-Benutzer, aber wenn Umleitung wieder Admin Rückkehr zur Route mit Benutzer Anon anzumelden.
Welche Version von Symfony verwenden Sie? Seit 2.5 oder so ist der Session-Quatsch nicht mehr nötig. – Cerad
Symfony-Version ist 2.8.3 – HossamYoussof