相关疑难解决方法(0)

使用角色的asp.net mvc授权

我正在创建一个具有用户概念的asp.net mvc应用程序.每个用户都可以编辑自己的个人资料.例如:

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

但是,我在授权方案中遇到了一些麻烦.现在系统中只有两个角色,"管理员"和"默认用户",但将来可能会有更多.

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

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

[Authorize(Roles = "DefaultUser")]
Run Code Online (Sandbox Code Playgroud)

那就没有效果了.PersonID = 1可以进入并编辑自己的配置文件(因为它们应该可以),但是他们也可以将URL更改为http:// localhost/person/edit/2,并且他们具有编辑PersonID = 2的完全访问权限.配置文件(他们不应该这样做).

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

感觉我在这里遗漏了一些明显的东西,所以任何指导都会受到赞赏.

asp.net-mvc authorization

24
推荐指数
4
解决办法
4万
查看次数

标签 统计

asp.net-mvc ×1

authorization ×1