FOSUserBundle'ı başarıyla yapılandırdık; giriş, kayıt, şifre sıfırlama, vb, hepsi gayet iyi çalışıyor.Symfony FOSUserBundle - layout şablonunda oturum açma formunu ekle
Şimdi giriş formunu genel site düzenimize dahil etmek istiyoruz, özellikle de bu formu düzen başlığının en sağdaki bölümüne yerleştiriyoruz. Sadece kullanıcı adı ve şifre alanlarıyla uğraşırsak bunu yapmak kolay olurdu. Ancak biz FOSUserBundle hizmeti tarafından oluşturulan CSRF kodu almanız anlamaya görünüyor olamaz: Ben başka türlü yapamam ince ancak görünüşe uzantısı çalışır yukarıda içinde Twig uzantısı arama çalıştı
$this->container->get('form.csrf_provider')->generateCsrfToken('authenticate');
Konteynere uygun şekilde başvurunuz.
Dünya çapında FOSUserBundle CSRF belirtecini elde etmenin kolay bir yolu var mı?
Teşekkürler! Jason
Sen denetleyicileri sonrave sadece
Ayrıca aşağıdaki eklemeniz gerekir<input type="hidden" name="_csrf_token" value="{% render('YourBundle:YourController:getToken') %}" />
yoluyla forma gömün birinde böyle bir işlevi tanımlayabilirsiniz
günümü kurtardı! çok teşekkür ederim! – fanjabi
Bu, en iyi cevap olarak işaretlenmeli - diğerinden daha temiz ve daha kolay. –
Bu en iyi ve en temiz çözümdür. Şablonlardaki Render denetleyici çok fazla kaynak tüketir: Bu çözüm en iyi ve en temiz olanıdır. – Aerendir