2017-05-11 6 views
0

私はAzure Active Directoryアプリケーションを作成しました。私は役割ベースのセキュリティを使用したいと思います。 https://azure.microsoft.com/en-us/resources/samples/active-directory-dotnet-webapp-openidconnect-aspnetcore/ASP Core Azure Active Directoryログインロールを使用する

ログインが機能し、アプリケーションマニフェストにロールを追加し、自分のアカウントにロールApproverを割り当てました。今私はこれらの役割を使いたいです。コントローラで、次の作品にログインした後

[Authorize] 

しかし、ユーザーが許可されていない役割を追加:

[Authorize(Roles="Approver")] 

をまた次はfalseを返します:

User.IsInRole("Approver"); 

それはロールがretreivedされていないようだ、このデモpにロール機能を追加する方法に関する提案ねえ?

答えて

1

このコードサンプルは、アカウントに役割を割り当てた後に動作します。この行でアプリケーションをデバッグしてください:User.IsInRole( "Approver");ユーザークレームに{http://schemas.microsoft.com/ws/2008/06/identity/claims/role: Approver}が存在するかどうかを確認してください。 - >All applications - >Users and groups - - >を追加/編集する>あなたのアプリを見つける

{ 
     "allowedMemberTypes": [ 
     "User" 
     ], 
     "displayName": "Approver", 
     "id": "fc803414-3c61-4ebc-a5e5-cd1675c14bbb", 
     "isEnabled": true, 
     "description": "Approvers have the ability to change the status of tasks.", 
     "value": "Approver" 
    }, 

そして、あなたはEnterprise applicationsにユーザロールを割り当てている:そして、あなたはallowedMemberTypesは、例えば、ユーザ、ある役割を追加することを確認してくださいユーザーを割り当てて役割を割り当てる: enter image description here

関連する問題