مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

ofoghcomputer

عضویت از 1393/07/15

پیغام خطا در هنگام استفاده از @Html.AntiForgeryToken()

  • چهارشنبه 2 تیر 1395
  • 00:02
تشکر میکنم

با سلام.

در هنگام استفاده از AntiForgeryToken پیغام زیر ظاهر می شود:

The provided identity of type 'System.Web.Security.FormsIdentity' is marked IsAuthenticated = true but does not have a value for Name. By default, the anti-forgery system requires that all authenticated identities have a unique Name. If it is not possible to provide a unique Name for this identity, consider setting the static property AntiForgeryConfig.AdditionalDataProvider to an instance of a type that can provide some form of unique identifier for the current user.

لطف راهنمایی کنید

با تشکر

پاسخ های این پرسش

تعداد پاسخ ها : 9 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • چهارشنبه 2 تیر 1395
  • 08:43

کد View و  Action را قرار دهید

کاربر سایت

ofoghcomputer

عضویت از 1393/07/15

  • چهارشنبه 2 تیر 1395
  • 12:00

هنگام اجرای view و بدون رفتن به Action پیغام زیر می دهد:

لطفا راهنمایی نمایید

با تشکر

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • چهارشنبه 2 تیر 1395
  • 12:34

چرا تگ form رو خودتون ایجاد کردید و از html.beginform استفاده نکردید ؟

آیا این صفت رو به action هم دادید ؟

کاربر سایت

ofoghcomputer

عضویت از 1393/07/15

  • چهارشنبه 2 تیر 1395
  • 12:42

استاد محترم تفاوت form از نوع html و razor چیست؟

از form با razor هم استفاده می کنم باز همین ارور می آید

در هنگام اجرای view این پیغام مشاهده می شود. اصلا به action وارد نمی شود.

در Action هم تعریف شده است.

کاری به استفاده از Identity ندارد؟ چون من استفاده نکردم

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • چهارشنبه 2 تیر 1395
  • 12:45

نه کاری Identity نداره

شما باید صفت زیر را در Action نیز داشته باشید

کد کامل کنترلر را قرار دهید

کاربر سایت

ofoghcomputer

عضویت از 1393/07/15

  • جمعه 4 تیر 1395
  • 18:50

کد کنترلر:

 [HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult InsertQuestions(Tbl_QuestionArchive QA,HttpPostedFileBase file1)
        {
            string path="";
            Tbl_QuestionArchive Question = new Tbl_QuestionArchive();
            try
            {
                Question.PayeID = QA.PayeID;
                Question.Title = QA.Title;
                if (file1 != null)
                {
                    if (file1.ContentLength > 0)
                    {
                        path = "/QuestionArchive/" + file1.FileName;
                        file1.SaveAs(Server.MapPath("~/QuestionArchive/" + file1.FileName));
                    }
                }
                Question.path = path;
                talash.Tbl_QuestionArchive.Add(Question);
                talash.SaveChanges();
            }
            catch (Exception)
            {

                throw;
            }
            TempData["Question"] = (from q in talash.Tbl_QuestionArchive select q).ToList();
            return RedirectToAction("Questions");
        }

 

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • جمعه 4 تیر 1395
  • 20:13

در View و همینطور کنترلر صفت ValidateAntiForgeryToken را حذف کنید و تست کنید ببینید مشکل حل میشه یا از جای دیگری است

کاربر سایت

ofoghcomputer

عضویت از 1393/07/15

  • جمعه 4 تیر 1395
  • 22:01

صفت را که حذف می کتم درست جواب می دهد

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • شنبه 5 تیر 1395
  • 08:08

به احتمال خیلی زیاد برای اینکه که از Helper ها استفاده نکردید و خودتون تگ های Html را ایجاد کردید

 

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)