2011-05-04 22 views

cevap

26

Bu durumda yapmanız gereken belirli bir şey yok. ASP.NET MVC, tüm formlar için aynı değeri yeniden kullanacaktır, bu yüzden doğrulamak için hangi formun isteği gönderdiğinin bilinmesi gerekmez. Her formda bir Html.AntiForgeryToken() girin ve [ValidateAntiForgeryToken] özniteliği ile gönderdiğiniz her denetleyici eylemini süsleyin ve Tamam olmalısınız.

+0

son bir bit, eğer vücut etiketinin üstüne bir Antiforgerytoken koyarsam ve bunu tüm $ .post() 'istekleri için kullanırsam ne olur? Doğrulayabilecek mi? Sayfada birden fazla jetonla karıştırılmaya devam ediyorum, çerçeve hangi formda hangi belirtecin nasıl olduğunu veya belirtinin formun dışına (ancak vücudun içinde) yerleştirilmişse ve her ajax isteğinde yeniden kullanılmakta ne durumda olduğunu nasıl anlar? – neebz

+0

@nEEbz, evet belirteci vücudun içine koyarak ve AJAX istekleri için yeniden kullanacaksınız. Ancak, AJAX isteği için formdaki gizli alanlardan birini de kullanabilirsiniz. Neden başka bir belirteç ekliyoruz? Veya daha da iyisi: '$ (' # someformid ')' i kullanın, serialize() 've bunu' data' parametresi olarak AJAX isteğine gönderin. –

+1

Evet, bir formum olduğunda, AjaxForm eklentisini (formu ajax isteğine dönüştüren) kullanıyorum ancak bazen formum yok; Bir posta isteğini tetikleyen düz bir bağlantı. Bunun için ana sayfada bir antiforgerytoken ekleyeceğim ve her şeyi ajax için kullanacağımı düşünüyordum. Teşekkürler – neebz

İlgili konular