我有一个模型,并根据用户的角色我想允许用户只更新模型的某些部分。比方说模型有三个领域。 (我的模型显然是比这更复杂)
MyObject
Field1
Field2
Field3
我的视图看起来是这样的:
Html.TextBoxFor(@Model.Field1)
Html.TextBoxFor(@Model.Field2)
@if(UserIsAdmin())
Html.TextBoxFor(@Model.Field3)
else
@Model.Field3
与我的语法(和示例的设计不良)轴承,您可以看到我正在尝试做什么。当用户发布表单时,我的控制器只需要MyObject并将其保存回数据库,我们正在使用EF。
问题:
我的问题是,有没有办法从锻造POST能够保存数据,他/她不应该能够阻止用户。我目前的想法是检查控制器,看看用户是否修改了他不应该有的值。或者我可以单独保存字段,但都不是一个简便的解决方案。
有更好的吗?
谢谢!
附加信息:如果
不知道这是ARTICAL相关可言:http://blog.stevensanderson.com/2008/09/01/prevent-cross-site-request-forgery-csrf-using-aspnet-mvcs-antiforgerytoken-helper/
所有三个字段是从同一个数据库表,我用EF来获取和保存的实体。
所以你是说,防止用户“锻造“回应不会阻止不受欢迎的行为?我明白你的意思,这不是最好的方法。 – kralco626
为了回答我自己的问题,我猜不是,因为用户可以在cookie中创建值并形成匹配。 – kralco626