首页 > 解决方案 > .NET 基于角色的资源访问 - 最佳实践

问题描述

我正在开发一个 .NET MVC 应用程序,目前仅使用基于角色的访问控制。例如,我正在包装我的控制器端点[Authorize(Roles="Provider")]。现在,我还想添加对资源的添加权限,例如,不仅要说明用户是否可以编辑文档,还要定义它可以编辑的文档。所以我希望它看起来像 - [Authorize(Roles="Provider")] [Authorize("CanEditObject1")]

这样做的最佳做法是什么?这里需要什么类型的授权?也许我需要混合一些(基于角色的访问+基于策略的访问)?我需要更改我的整个身份验证方法还是只添加它?

标签: asp.netasp.net-mvc

解决方案


您将需要查看政策。当我尝试为授权标签助手提交 PR 并且再也没有回复时,我也很快学会了这一点。简而言之,在您的组合根处定义策略并检查具有授权属性的策略。

但是,除非您可以建立成员级别,否则行级别访问可能需要额外检查。


推荐阅读