asp.Net   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了asp.net-mvc – asp.net mvc授权使用角色大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我创建一个asp.net mvc应用程序,有用户的概念。每个用户都能够编辑自己的配置文件。例如:

> PersonID = 1可以通过转到http://localhost/person/edit/1来编辑他们的个人资料
> PersonID = 2可以通过转到http://localhost/person/edit/2来编辑他们的个人资料

没有什么特别令人兴奋的…

然而,我已经遇到一些麻烦与授权方案。在系统中只有两个角色,“管理员”和“DefaultUser”,但未来可能会有更多。

无法使用常规的Authorize属性指定授权,因为两个用户都处于相同的角色(即“DefaultUser”)。

所以,如果我指定授权过滤器像这样:

[Authorize(Roles = "DefaultUser")]

那么就没有效果。 PersonID = 1可以进入和编辑自己的配置文件(因为他们应该能够),但他们也可以只是将URL更改为http://localhost/person/edit/2,他们有完全访问权限编辑PersonID = 2的配置文件(他们不应该去做)。

这是否意味着我必须创建自己的授权过滤器,检查用户在请求“拥有”的操作是否允许他们访问?也就是说,如果当前登录的人正在请求参数= 1的编辑操作,那么我需要进行自定义检查,以确保当前登录的人是PersonID = 1,如果是,请授权他们,如果没有,拒绝访问?

感觉我在这里缺少一些明显的东西,所以任何指导将不胜感激。

解决方法

也许你可以组织控制器操作,使得URL更像是 http://localhost/person/editme,它显示当前登录的用户的编辑表单。这样,用户就无法通过黑客攻击URL来编辑别人。

大佬总结

以上是大佬教程为你收集整理的asp.net-mvc – asp.net mvc授权使用角色全部内容,希望文章能够帮你解决asp.net-mvc – asp.net mvc授权使用角色所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。