c# ASP.NET MVC检查用户是否可以执行操作

更新时间:2024-05-09 下载TXT文档 下载Word文档

我的数据库中有由不同用户创建的帖子集合。

  • 每个用户都可以创建帖子,并且只能编辑其帖子。
  • 要编辑其帖子,用户导航到页面" Posts / EditPost?PostID = x",其中x是帖子ID。

  • "帖子"控制器具有" [Authorize]"属性,操作的GET部分检查该帖子是否由用户发布。

如果用户确实发布了帖子,则它将渲染视图。 在视图中,存在一个带有" PostID"的隐藏字段。

当用户提交表单时,操作的POST部分会重新检查PostID是否与当前登录用户创建的帖子匹配。

有没有一种更好的方法可以完成此操作,而无需仔细检查用户是否有权编辑帖子,还是最好的方法? 短码网=DuanMa.NET

这实际上对我来说听起来不错。 如果您不想再次检查用户,我唯一可以建议的就是使用与视图一起呈现的防伪令牌之类的东西。 由于您只能查看是否允许编辑帖子,因此,在这一点上,我认为您需要做的只是检查POST是否来自您的站点。

我有同样的问题,但是我通过删除在View上进行编辑的能力解决了。 一旦删除了编辑功能,我就可以假设如果进行了编辑,则用户拥有权限。

我这样做是因为其他人(主持人)也必须能够编辑帖子。

显然,这可能在Internet上不起作用,因为您可以绕过安全性,但是在公司Intranet上却可以。

我仍然认为我应该在业务层检查用户权限,但是他们需要给我更多的金钱和时间。 :)

以上就是短码网小编为大家整理的《c# ASP.NET MVC检查用户是否可以执行操作》相关内容,希望大家喜欢。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若内容造成侵权/违法违规/事实不符,请将联系本站反馈,一经查实,立即处理!

c# ASP.NET MVC检查用户是否可以执行操作》文档下载仅供参考学习,下载后请在24小时内删除。

转载注明出处:https://www.duanma.net/article/8d2635f1343.html

回到顶部