我有任何用户都可以编辑的帖子列表。
当我在隐藏字段中进入帖子的编辑模式时,我存储PostId
.
现在我发现这实际上很糟糕,因为用户可以更改该隐藏字段并更新其他一些帖子。
保留用户编辑的帖子是session
唯一的选择id
,还是有更好的策略?
因为我真的很糟糕:(
问问题
67 次
3 回答
5
于 2012-12-16T13:32:30.977 回答
0
尝试将帖子 ID 作为隐藏字段,而不是更多字段。然后,在控制器中使用该 ID 从数据库中获取原始帖子。
然后你必须检查:
- 如果 id 确实从数据库中提取了某些内容(以防帖子已被删除或用户更改了隐藏中的 id)。
- 如果要编辑的帖子来自该用户/租户(如果来自该用户,并且他将您隐藏的 id 更改为指向他自己的其他帖子,这是他的责任)。
- 在逻辑中添加您需要的任何其他检查(检查用户是否有权这样做,或检查日期等)
- 您可以从数据库中更新您允许在 post 对象中编辑的字段,然后保存它(假设您
PostViewModel
在操作中收到 a 而不是Post
模型本身。
这种方法也可以在 DELETE 情况下使用,检查是否可以删除给定 id 的项目。
于 2012-12-16T13:42:49.943 回答
0
将其保存在 asp Hidden 字段中并将 Visible 属性设置为 false。这将允许您访问使控件在页面上不可见的值,即使在其呈现的 html 标记中
于 2012-12-16T13:59:49.623 回答