Keselamatan - Selepas mengkonfigurasi symfony2 firewall, bagaimana untuk mendapatkan maklumat pengguna semasa pada halaman yang tidak dibenarkan?
伊谢尔伦
伊谢尔伦 2017-05-16 16:45:23
0
1
509

Konfigurasi firewall adalah seperti berikut:

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

Selepas log masuk, kecuali halaman /login, halaman lain boleh mendapatkan maklumat pengguna semasa melalui $this->getUser(),
Bagaimanakah saya boleh mendapatkan maklumat pengguna semasa pada halaman /login?


Saya menyelesaikan masalah berdasarkan jawapan, inilah kandungan security.yml saya:

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

Pada masa yang sama, saya juga menemui soalan yang sama pada SO - pautan
Terima kasih atas jawapannya kawan-kawan!

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

membalas semua(1)
phpcn_u1582

Anda boleh memadamkan tembok api log masuk dan mengkonfigurasinya dalam acl:

access_control:
    - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan