MCV : Ajax Post With AntiForgeryToken

Herkes' e merhaba.

Bu gün kısaca Ajax ı MVC nin AntiForgeryToken özelliği ile beraber kullanma işlemi hakkında küçük birkaç dipnot vereceğim. AntiForgeryToken web projelerinde bir nevi otomatik captcha kontrolü gibi düşünebiliriz. Form üzerinde __requestVerificationToken ismi ile hidden input şeklinde tutulur. Bu değer server tarafından üretilir ve formda hidden input üzerinde tutulur. form doldurulup server tarafında gönderildiğinde üretilen ve form tarafından gönderilen değerler kontrol edilir. Form üzerinde @Html.AntiForgeryToken() şeklinde Mvc helper metodu ile eklenir.Bu helper metodu form içerisinde aşağıdaki gibi bir hidden input ekler.

AntiForgeryToken' i @Html.Beginform ile beraber kullanabiliyorsunuz sorunsuz bir şekilde fakat form elementlerinin arasında bir Ajax işlemi yapacaksanız sayfa güvenlik kontrolü yapmak adına AFT yi kullanmak zaman zaman sıkıntı yaratabiliyor. Bundan dolayı araştırmalar sonucu ulaştığım, kullanıp tecrübe ettiğim ufak birkaç parça kodu sizlerle paylaşmak istedim.

Kodun tamamını koymuyorum önemli olanı script bölümü.Yanlızca dikkat etmeniz gereken verilerin alınacağı formun name i "__AjaxAntiForgeryForm" olacak script içerisinde de belirttiğimiz üzere.URL bölümüne "$(this).attr("rel")," şeklinde giriş yaptık, isterseniz post edilecek controller ve action u belirtebilirsiniz bunun yerine.Action içerisinde zaten gerekli add/upgrade işlemini yapan kodlar olacak.

Sorularınız olur ise yorum bölümüne yazabilir, mail ile ulaşabilirsiniz.

Herkes' e iyi kodlamalar !
İlker YANIZCA
Software Developer


http://stackoverflow.com/questions/4074199/jquery-ajax-calls-and-the-html-antiforgerytoken