suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Sicherheit – Wie erhalte ich nach der Konfiguration der Symfony2-Firewall aktuelle Benutzerinformationen auf nicht autorisierten Seiten?

Die Firewall-Konfiguration ist wie folgt:

firewalls: 
     login_firewall: 
         pattern:    ^/login$ 
         anonymous:  ~ 
     secured_area: 
         pattern:    ^/ 
         login_form: ~ 

Nach dem Anmelden können andere Seiten mit Ausnahme der /login-Seite die aktuellen Benutzerinformationen über $this->getUser(),
abrufen Wie kann ich die aktuellen Benutzerinformationen auf der /login-Seite abrufen?


Ich habe das Problem basierend auf der Antwort gelöst. Hier ist mein security.yml-Inhalt:

security:
role_hierarchy:
    ROLE_ADMIN: ROLE_USER

firewalls:
    # login_firewall:
    #     pattern:    ^/login$
    #     anonymous:  ~
    secured_area:
        pattern:    ^/
        anonymous:  ~
        form_login:
            login_path: login
            check_path: login_check
        logout:
            path:   /logout
            target: /

access_control:
    - { path: ^/login$, roles: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/, roles: ROLE_USER }

providers:
    in_memory:
        memory:
            users:
                kevin:  { password: kevinpass, roles: 'ROLE_USER' }
                admin:  { password: adminpass, roles: 'ROLE_ADMIN' }

encoders:
    Symfony\Component\Security\Core\User\User: plaintext

Gleichzeitig habe ich auch eine ähnliche Frage auf SO gefunden – Link
Danke für die Antwort Freunde!

伊谢尔伦伊谢尔伦2749 Tage vor482

Antworte allen(1)Ich werde antworten

  • phpcn_u1582

    phpcn_u15822017-05-16 16:47:23

    你可以删掉login那个firewall,在acl里配置:

    access_control:
        - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
    

    Antwort
    0
  • StornierenAntwort