2 alanlı bir Symfony uygulamasına sahibim, biri AJAX ve web servislerinden API çağrıları için bir web sayfasından diğerine erişen istemciler.2 farklı symfony2 güvenlik duvarında aynı anda nasıl kimlik doğrulanır?
Bu alanların her biri kendi başına bir güvenlik duvarı ile korunur. WEB arayüzü, formda bir günlük ve http_basic
ile API ile doğrulanır.
Her iki güvenlik duvarı da iyi çalışıyor, ancak WEB arabirimi, API arabirimine bir AJAX çağrısı yaptığında, tarayıcı, daha önce oturum açmış olsa bile, kullanıcının yeniden oturum açmasını ister (formda oturum açarak). Bundan kaçınmak istediğim şey bu. Bu komut istemini önlemek için her iki güvenlik duvarının da aynı anda doğrulanmasını isterim.
tam olarak aynı soruna sahip başka bir soru gördüm. Ama ikisi de güvenlik duvarları üzerinde http_basic
kimlik doğrulaması kullanıyorsanız, bu nedenle, çözüm beni sorgulama Did't çalışmalarını önerdi:
Authenticate multiple symfony2 firewalls with one login form
Benim security.yml
#....
firewalls:
api:
pattern: ^/API
context: primary_auth
stateless: true
http_basic:
realm: "API: Please log in"
web:
pattern: ^/
context: primary_auth
form_login:
check_path: /login_check
login_path: /login
provider: fos_userbundle
logout:
path: /logout
target:/
anonymous: ~
Ben bu cevabı alıntı, çok benzer bir sorundur, fark iki farklı kimlik doğrulama yöntemleri (vatansız http temel ve diğer kullanarak çerezleri kullanıyorum) Ive zaten önerilen yapılandırma denedim ama sadece işe yaramadı – Xocoatzin
@ Xocoatzin, farklı kimlik doğrulama yöntemleri, güvenlik duvarları arasında paylaşılan bir bağlama sahip olmak için bir sorun olmamalıdır. Örneğin, standart giriş formu güvenlik duvarı ve SSO sunucusuna karşı kimlik doğrulaması yapan başka biriyle aynı şeyi yapıyorum. Farklı kimlik doğrulama jetonları var. – Dziamid