У меня есть контроллер называется счет и действие под названием AddFunds()безопасности ASP.NET MVC при вызове действия непосредственно
В моем HttpGet Addfunds() действия возвращает вид привязку к ViewModel с ACCOUNTID свойство, поэтому по умолчанию представление содержит скрытое поле AccountId.
в действии HttpPost AddFunds(), я получил обновленный ViewModel, с тем же AccountID, как проходил методом HttpGet, с некоторыми другими параметрами, такими как количество и т.д.
Что я могу сделать чтобы человек не вызывал метод, напрямую передающий поддельный аккаунт?
Предотвращает ли токен AntiForgery? Любая другая мера, которую я должен взять?
Как побочный вопрос, можно ли пропустить идентификатор учетной записи в скрытом поле или необходимо знать, с какой сущностью я действую?
Благодаря
вместо описания кода, просто опубликовать его. – ataravati
Короткий ответ: вам нужно сравнить пройденный идентификатор аккаунта с идентификатором учетной записи для аутентифицированного пользователя, прежде чем разрешить какие-либо изменения. Однако это довольно большая тема, и вы должны прочитать, как безопасность работает для вашего приложения asp.net mvc. Вот хороший старт http://blogs.msdn.com/b/rickandy/archive/2012/03/23/securing-your-asp-net-mvc-4-app-and-the-new-allowanonymous-attribute. aspx – Jasen