我正在开发asp.net MVC应用程序,我首先有两条路线是 属于用户1的http://localhost:60184/Owner/Edit/11,属于用户2的http://localhost:60184/Owner/Edit/1。我希望两个用户都只能编辑,删除,更新自己的数据,为此我使用了[Authorize(Roles =“ Owner”)],但是两个所有者都可以通过仅更改路由中的id值来看到彼此的数据? 有人请帮助解决此问题?
答案 0 :(得分:0)
您只需要将OwnerId字段添加到要编辑的数据库表中,并将其与当前用户ID进行比较。
public ActionResult Edit(SomeVmClass model)
{
var entity = //fetch the entity from DB
if(User.Identity.GetUserId() != entity.OwnerId)
return HttpNotFound();
// your code
}