我有一个Azure门户中托管的ASP.NET核心Web应用程序。我想向应用程序添加身份验证,还想拥有不同的角色,其中某些用户只能查看,而某些用户在Web应用程序中具有编辑权限。
要实现这一目标,我已将here的用户和组添加到应用程序中 为了处理可以查看和编辑等内容的角色,我已经在清单中创建了角色,并且还按照here
的介绍将此角色添加到了很少的用户现在要阅读asp.net核心mvc Web应用程序中的此用户角色,我需要使用什么?我看到了一些建议使用Graphs API,Open ID等的文章。那么什么是最好的方法呢?
答案 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中的详细信息。