我有一个ASP.NET核心web应用程序,我在Azure门户中托管了它。我想将身份验证添加到应用程序中,还想拥有不同的角色,其中一些用户将只有查看权限,而一些用户将在web应用程序中拥有编辑权限。
为了实现这一点,我在应用程序中添加了用户和组,如下所述为了处理可以查看和编辑等的角色,我在manifest中创建了角色,并向这里提到的少数用户添加了这些角色
现在要阅读asp.net核心mvc web应用程序中的这些用户角色,我需要使用什么?我看到一些文章建议Graphs API、Open ID等。那么这里最好的方法是什么。
您可以在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应用程序示例中的详细信息。