0

Azure と Web アプリの統合は初めてです。Azure AD でログインするユーザーにロールを割り当てるためのチュートリアルはありますか? UserManager.AddToRole(userId, "Admin")標準ログインなど。Azure AD にログインするユーザーにロールを割り当てる方法に関する完全なガイドが必要です。ありがとう!

PS:MVC ではなく WebForm で ASP.NET を使用しています。

4

1 に答える 1

2

まず、アプリケーションに承認を実装する方法を理解する必要があります。Azure AD には 3 つの主要なメカニズムがあります。差出人: https://azure.microsoft.com/en-us/documentation/articles/guidance-multitenant-identity-app-roles/

Azure AD アプリ ロールを使用するロール: SaaS プロバイダーは、アプリケーション マニフェストに追加することで、アプリケーション ロールを定義します。顧客がサインアップすると、顧客の AD ディレクトリの管理者がユーザーに役割を割り当てます。ユーザーがサインインすると、ユーザーに割り当てられたロールが要求として送信されます。

このアプローチを選択すると、次のように、Azure AD Graph の /appRoleAssignments に POST して、グループまたはユーザーをアプリケーション ロールに割り当てることができます。

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 Graph の /groups に POST して、次のようにユーザーをグループに割り当てることができます。

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 にまったく格納されません。代わりに、アプリケーションは各ユーザーのロール割り当てを独自の DB に格納します。たとえば、ASP.NET Identity の RoleManager クラスを使用します。

このアプローチを選択した場合、基本的に AddToRole を引き続き使用します。

最初の 2 つのアプローチを実装する方法の詳細については、参照した最初のリンクを確認してください。

于 2016-06-18T07:18:49.767 に答える