视图模型的最佳实践

时间:2013-12-13 06:32:53

标签: asp.net-mvc-4

我的视图没有使用我视图中的每个属性。例如,不需要在视图上显示userId属性。现在我将thew值存储在隐藏字段中。有没有一种标准的或更安全的方法来保持我的视图完整,例如会话或MVC中的其他内容,而不通过字段或隐藏字段在视图中公开我的模型的所有数据?

似乎是一个基本的问题,这个webforms我可能会将它存储在一个会话中,但我很想知道MVC是否提供了不同的支持,或者我有最好的练习方式。

修改 好吧,我遗漏的是那个。当表单将模型提交回控制器时,如果我不将UserId字段存储在只读可编辑值或隐藏字段中,则UserId为空。

我在问其他什么阻止了这个?隐藏不需要显示的用户ID(或任何属性)的正常最佳做法是什么?

1 个答案:

答案 0 :(得分:1)

在每个请求上发送客户端上的UserId属性没有任何问题。您应该在服务器上实现授权逻辑,该逻辑检查来自浏览器的此用户ID是否实际属于当前经过身份验证的用户。无需为此使用任何ASP.NET会话。

如果您使用Forms Authentication跟踪当前经过身份验证的用户,则可以随时安全地检索此用户。