Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 如果在asp.net mvc中将对象传递给编辑后操作方法,如何控制模型绑定安全性_Asp.net Mvc 3_Security - Fatal编程技术网

Asp.net mvc 3 如果在asp.net mvc中将对象传递给编辑后操作方法,如何控制模型绑定安全性

Asp.net mvc 3 如果在asp.net mvc中将对象传递给编辑后操作方法,如何控制模型绑定安全性,asp.net-mvc-3,security,Asp.net Mvc 3,Security,我在专业网站上找到了许多示例和教程,它们通过传递对象而不是传递对象ID来实现post-action方法,如下所示:- [HttpPost] public ActionResult Edit(Album album) { if (ModelState.IsValid) { db.Entry(album).State = EntityState.Modified; db.SaveChanges(); return RedirectToAction(“Index”); } 但另一方面,出于安全考虑,

我在专业网站上找到了许多示例和教程,它们通过传递对象而不是传递对象ID来实现post-action方法,如下所示:-

[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、导航属性或其他属性,如createdby等,而我们只应 在我们的操作方法中使用显式代码操纵这些特定属性


但是上面通过传递模型对象来实现post-action方法的方法将与定义绑定列表冲突,因此我如何处理这种情况?您不需要处理任何情况,
Bind
属性将确保只能从发布的模型更新这些属性。

感谢您的回复,但是当我定义[Bind(Include=“Title,Description,genre”)]并将对象传递给edit post action方法时,然后,post action方法将引发异常,因为post action方法需要绑定对象ID和绑定列表中未包含的其他属性!!!!因此,将模型对象传递给操作方法将与定义绑定列表冲突。因此,我的问题是,除了向action方法传递对象之外,是否可以通过添加绑定列表来消除此冲突。br请您发布完整的例外情况好吗?助教。