
[英]ASP.Net MVC Preventing direct access to action out of RedirectToAction method
[英]Best way of preventing access to an action in mvc
在一个旧的mvc 1项目中,我正在为用户添加一个选项来编辑他们的详细信息。 我没有使用表单身份验证(主要是因为我不应该大规模更改以前的代码)所以我试图想到只允许当前登录的用户编辑他的详细信息的最佳方法。
目前,如果URL为http:// localhost:61681 / users / edit?userId = 29,其他用户只需更改userId即可编辑其他人的详细信息。
我可以想到的方法是在userId匹配参数时检查方法内部,但我不知道是否有更好的方法来执行它。
让我道歉,因为我理解这个问题显示了我的基本知识。
谢谢
为什么不让用户id你正在检查userId
, 作为参数? 如果编辑页面不是为了让任何人编辑其他人的信息,那么就没有理由使用userId
参数 - 只需让它编辑发出请求的用户即可。
if( currrentUser.Id != userId )
return Redirect( "http://example.com/access-denied" );
如果您已经知道登录用户,那么只需添加一个检查以查看它是否与要编辑的用户的ID匹配。如果不匹配,请不要让它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.