例如,我在应用注册中有一个应用程序'myApp',我在Azure Active Directory User1
中有一个用户,它是AD中的管理员。我想在该应用程序中通过Azure AD使用身份验证,并希望User1
仅具有访问'api / todos'和'api / vehicles'的权限。因此,可以有一个角色'Role1 with permissions
Todos ,
Vehicles`。有没有办法配置?感谢。
答案 0 :(得分:2)
是的,有一种方法可以配置它。 Azure使用角色概念。 This sample显示了如何在Web API中执行此操作。
简而言之:您需要定义可能的角色,并通过管理门户中的应用程序配置为其分配用户。然后,您需要在Web API控制器方法上定义用户应该使用[Authorize]
属性的角色,例如:就像在one of the sample's controllers中一样:
[Authorize(Roles = "Admin, Observer, Writer, Approver")]
public ActionResult Index()
{
ViewBag.Message = "Tasks";
ViewData["tasks"] = TasksDbHelper.GetAllTasks();
return View();
}
与[Authorize]
一样,它是继承的,因此您可以将它放在整个控制器类上。