Beim Versuch, mich anzumelden, sagt mir Symfony2, dass ich die falschen Anmeldeinformationen angegeben habe. Zweiter Versuch funktioniert. Irgendwelche Ideen, warum das passieren könnte? Um das Verhalten zu reproduzieren, muss ich mich abmelden, Cookies löschen, zur Anmeldeseite zurückkehren und mich erneut anmelden.Symfony2: Anmeldung funktioniert nicht beim ersten Versuch nach dem Löschen von Cookies
Ich verwende FOSUserBundle.
config.yml:
framework:
#esi: ~
secret: asdfsadfasdf
#translator: { fallback: en }
charset: UTF-8
router: { resource: "%kernel.root_dir%/config/routing.yml" }
form: true
csrf_protection: true
validation: { enable_annotations: true }
templating: { engines: ['twig'], assets_version: v1.2 } #assets_version: SomeVersionScheme
translator: { fallback: de }
session:
default_locale: de
auto_start: false
lifetime: 1000000
...
security.yml:
security:
encoders:
Symfony\Component\Security\Core\User\User: plaintext
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
providers:
fos_userbundle:
id: fos_user.user_manager
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
login:
pattern: ^/login$
security: false
public:
pattern: ^/.*
form_login:
provider: fos_userbundle
check_path: /login_check
remember_me: true
remember_me:
key: aaasfasdfasdfsadfsadf
lifetime: 1296000 #15 days in second
path: /
anonymous: true
logout: true
access_control:
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY}
- { path: ^/register, roles: IS_AUTHENTICATED_ANONYMOUSLY}
#- { path: ^/_internal, roles: IS_AUTHENTICATED_ANONYMOUSLY, ip: 127.0.0.1 }
- { path: ^/events/create, roles: ROLE_USER }
#...
acl:
connection: default
routing.yml:
_imagine:
resource: .
type: imagine
_index:
resource: "@AjadoEventHubBundle/Controller/IndexController.php"
type: annotation
fos_comment_api:
type: rest
resource: "@FOSCommentBundle/Resources/config/routing.yml"
prefix: /api
fos_user_security:
resource: "@FOSUserBundle/Resources/config/routing/security.xml"
...
@ FOSUserBundle/Ressourcen/config/Routing/security.xml:
<routes xmlns="http://symfony.com/schema/routing"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
<route id="fos_user_security_login" pattern="/login">
<default key="_controller">FOSUserBundle:Security:login</default>
</route>
<route id="fos_user_security_check" pattern="/login_check">
<default key="_controller">FOSUserBundle:Security:check</default>
</route>
<route id="fos_user_security_logout" pattern="/logout">
<default key="_controller">FOSUserBundle:Security:logout</default>
</route>
</routes>
Versuchen Sie, den entsprechenden Code zu Ihrer Frage hinzufügen: „Login“ in Symfony 2 sehr abstrakt ist. – ilanco
@ilanco: lassen Sie mich wissen, wenn Sie mehr Code benötigen. Ich habe gerade herausgefunden, dass ich eine ziemlich alte Version von FOSUserBundle (6cdd9c292afa219ef799893061eaae1fc400ae33) verwende - werde versuchen, heute zu aktualisieren ... – stoefln
Könnten Sie den Routing-Teil mit zeigt die Login-Routen, wenn vorhanden? –