ASP.Net Core MVC Web应用程序角色管理

时间:2020-09-16 17:39:45

标签: c# azure asp.net-core azure-web-app-service azure-web-roles

我有一个Azure门户中托管的ASP.NET核心Web应用程序。我想向应用程序添加身份验证,还想拥有不同的角色,其中某些用户只能查看,而某些用户在Web应用程序中具有编辑权限。

要实现这一目标,我已将here的用户和组添加到应用程序中 为了处理可以查看和编辑等内容的角色,我已经在清单中创建了角色,并且还按照here

的介绍将此角色添加到了很少的用户

现在要阅读asp.net核心mvc Web应用程序中的此用户角色,我需要使用什么?我看到了一些建议使用Graphs API,Open ID等的文章。那么什么是最好的方法呢?

1 个答案:

答案 0 :(得分:1)

您可以在Startup.cs文件中添加使用Azure AD角色强制执行授权的授权策略。 (此处UserReaders是应用程序角色)

services.AddAuthorization(options => 
{
    options.AddPolicy(AuthorizationPolicies.AssignmentToUserReaderRoleRequired, policy => policy.RequireRole(AppRole.UserReaders));
});

并使用以下代码检查用户是否具有该角色。

[Authorize(Policy = AuthorizationPolicies.AssignmentToUserReaderRoleRequired)]
// or
User.IsInRole("UserReaders"); 

查看ASP.NET Core web app sample中的详细信息。