Как контролировать безопасность привязки модели, если я передаю объект методу действия редактирования в asp.net mvc - PullRequest
0 голосов
/ 17 марта 2012

Я нашел много примеров и учебных пособий на профессиональных веб-сайтах, которые реализуют метод последующего действия, передавая объект вместо передачи идентификатора объекта: -

[HttpPost]
public ActionResult Edit(Album album)
{
if (ModelState.IsValid)
{
db.Entry(album).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction(“Index”);
}

но с другой стороны рекомендуется из соображений безопасности определить список привязок на уровне объекта модели, например

[Bind(Include="Title,Description,genere")]

для предотвращения привязки модели к манипулированию свойствами объекта, связанными с; ID, навигационные свойства или другие свойства, такие как созданный и т. Д. и вместо этого мы должны только манипулировать этими конкретными свойствами, используя явный код в наших методах действия.

Но приведенный выше подход реализации метода пост-действия путем передачи ему модельного объекта будет конфликтовать с определением списка Bind, так как я могу справиться с такой ситуацией?

1 Ответ

0 голосов
/ 19 марта 2012

Вам не нужно обрабатывать какие-либо ситуации, атрибут Bind гарантирует, что из опубликованной модели могут быть обновлены только эти свойства.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...