我是Azure与web应用程序集成的新手。我可以知道是否有任何教程可用于将角色分配给使用Azure AD登录的用户?如UserManager.AddToRole(userId, "Admin")
为标准登录。我需要一份关于如何为使用Azure AD登录的用户分配角色的完整指南。谢谢!在Azure Active Directory中为用户提供角色
PS:我使用ASP.NET与WebForm,而不是MVC。
我是Azure与web应用程序集成的新手。我可以知道是否有任何教程可用于将角色分配给使用Azure AD登录的用户?如UserManager.AddToRole(userId, "Admin")
为标准登录。我需要一份关于如何为使用Azure AD登录的用户分配角色的完整指南。谢谢!在Azure Active Directory中为用户提供角色
PS:我使用ASP.NET与WebForm,而不是MVC。
首先,您需要弄清楚如何在应用程序中实施授权。 Azure AD有三个主要机制。自:使用天青AD应用角色https://azure.microsoft.com/en-us/documentation/articles/guidance-multitenant-identity-app-roles/
角色: SaaS供应商通过将其添加到应用程序清单定义了应用程序的作用。客户注册后,客户的AD目录的管理员将为用户分配角色。当用户登录时,用户的指定角色将作为声明发送。
如果你选择这种方法,你可以发布到Azure的AD图表的/ appRoleAssignments到组或用户分配到应用程序角色,像这样:
POST https://graph.windows.net/myorganization/servicePrincipals/{service_principal_object_id}/appRoleAssignedTo
Body
Content-Type: application/json
{
"id":"{role_object_id}",
"principalId":"{user/group_object_id}",
"resourceId":"{service_principal_object_id}"
}
使用Azure AD安全组的角色:在此方法中,角色表示为AD安全组。应用程序根据用户的安全组成员资格为用户分配权限。
如果你选择这种方法,你可以发布到Azure的AD图表的/组将用户分配到一组,像这样:
POST https://graph.windows.net/myorganization/groups/{group_object_id}/$links/members?api-version
Body
Content-Type: application/json
{
"url": "https://graph.windows.net/myorganization/directoryObjects/{user_object_id}"
}
请参阅此链接的详细信息:https://msdn.microsoft.com/library/azure/ad/graph/api/groups-operations#AddGroupMembers
使用应用程序角色管理器的角色:使用此方法,应用程序角色根本不存储在Azure AD中。相反,应用程序将每个用户的角色分配存储在其自己的数据库中 - 例如,使用ASP.NET Identity中的RoleManager类。
如果你选择这种方法,那么你基本上会继续使用AddToRole。
请务必查看我引用的第一个链接,了解如何实施前两种方法的详细信息。