2016-06-15 91 views
0

我是Azure與web應用程序集成的新手。我可以知道是否有任何教程可用於將角色分配給使用Azure AD登錄的用戶?如UserManager.AddToRole(userId, "Admin")爲標準登錄。我需要一份關於如何爲使用Azure AD登錄的用戶分配角色的完整指南。謝謝!在Azure Active Directory中爲用戶提供角色

PS:我使用ASP.NET與WebForm,而不是MVC。

回答

1

首先,您需要弄清楚如何在應用程序中實施授權。 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}" 
} 

請參閱此鏈接更多的信息:https://msdn.microsoft.com/library/azure/ad/graph/api/entity-and-complex-type-reference#AppRoleAssignmentEntity

使用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。

請務必查看我引用的第一個鏈接,瞭解如何實施前兩種方法的詳細信息。

相關問題