Tôi vừa cài đặt ASP.Net MVC 4 RC để thay thế ASP.Net MVC 4 beta. Khi cố gắng chạy một ứng dụng hiện có, tôi nhận được thông báo lỗi rằng AntiForgeryToken
đã không được chấp nhận. Dưới đây là mã của tôi:AntiForgeryToken không được chấp nhận trong ASP.Net MVC 4 RC
using (Html.BeginForm("", "", FormMethod.Post, new { id = "MonthElectionForm" }))
{
@Html.AntiForgeryToken("AddEditMonthElection")
}
---- CẬP NHẬT ---
ASP.Net MVC 4 RC đã làm cho tài sản Salt lỗi thời cho ValidateAntiForgeryToken thuộc tính và AntiForgeryToken html helper. Vì vậy, bây giờ mã của tôi trông như thế này:
điều khiển:
[HttpPost]
[ValidateAntiForgeryToken]
public JsonResult CreateCompany(CompanyDataEntryViewModel modelData)
{...}
dạng:
@using (Html.BeginForm("", "", FormMethod.Post, new { id = "CreateCompanyDataEntryForm" }))
{
@Html.AntiForgeryToken()
...
}
Nhìn vào HTML được tạo, AntiForgeryToken vẫn tạo ra một lĩnh vực ẩn và cung cấp một giá trị được mã hóa. Hành động của tôi vẫn hoạt động. Nhưng tôi đã mất khả năng chỉ định một khóa để sử dụng trong quá trình mã hóa. Tôi không chắc quá trình hoạt động như thế nào, nhưng trước khi tôi có thể nói tôi đã đặt giá trị muối trên hành động và trên biểu mẫu. Các giá trị phải khớp để hành động chấp nhận bài đăng. Vì vậy, làm thế nào để bạn thiết lập giá trị muối bây giờ? Tôi nghĩ rằng nó có một cái gì đó để làm với AntiForgeryConfig AdditionalDataProvider nhưng tôi không thể tìm thấy bất cứ điều gì googling về cách sử dụng AntiForgeryConfig AdditionalDataProvider. Hãy giúp tôi.
Cảm ơn
Bạn có nhận được thông báo lỗi chi tiết này không? "Phương pháp này không được chấp nhận. Sử dụng phương thức AntiForgeryToken() để xác định dữ liệu tùy chỉnh được nhúng trong mã thông báo, sử dụng thuộc tính tĩnh AntiForgeryConfig.AdditionalDataProvider." –
Có, tôi đã thấy thông báo lỗi chi tiết đó. Làm thế nào để bạn sử dụng tài sản AntiForgeryConfig.AdditionalDataProvider? Chúng ta có thể không còn sử dụng các thuộc tính trên một hành động như trước đây được không? Không có nhiều hiển thị khi googleing tài sản AntiForgeryConfig.AdditionalDataProvider. –