首页 文章

与自定义身份验证中的角色权限相比,ASP.NET核心身份中的角色声明

提问于
浏览
7

让我们暂时离开ASP.NET身份,让我们假设我们正在为我们的应用程序构建自定义身份验证/授权系统 .

It will contain the following tables for full flexibility:
用户
角色
权限
的UserRole
RolePermissions

通过上述内容,我们可以拥有应用程序的完整用户管理部分,其中管理员可以说用户A具有角色B,其具有权限C,D,F .

The above has always worked for me in the past, but lets switch gears now to an ASP.NET Core MVC Application using ASP.NET Identity.

尝试利用Microsoft在UserManager中为您提供ASP.NET核心身份的一切我希望能够仍然实现上述目标,但是ASP.NET核心身份MVC方式 .

What I know:
我可以轻松使用UserManager为用户和角色以及用户角色实现CRUD页面 .

What I am trying to figure out:
我怎样才能复制"which permissions/actions does a role have?"概念的相同行为 .

我最初的猜测是你会将Claim与Roles结合使用 . 声明被分配给角色,即RoleClaims,然后角色将分配给用户 .

通过这种方式,我可以使用Authorize标签检查控制器/操作方法之上的角色 . 另外在页面级别更进一步说如果用户的角色没有声明隐藏/显示删除按钮"DeleteProduct"有点像view-based authorization documentation所说的那样 .

我试图弄清楚我是否正在使用这些东西走上正确的道路 . 任何建议或更正都会有所帮助 .

1 回答

相关问题