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

ASP.Net Core MVC Web application roles management

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

为了实现这一点,我已将用户和组添加到应用程序中,如前所述here 为了处理可以查看和编辑等的角色,我在清单中创建了角色,并将此角色添加到少数用户,如前所述 here

现在阅读 asp.net 核心 mvc 网络应用程序中的这个用户角色,我需要使用什么?我看到文章建议图形 API、Open ID 等。那么最好的方法是什么。

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

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