Wie bekomme ich Rollen von AD mit MVC Azure AD-Authentifizierung?
Ich setup und MVC 4-Anwendung und ergänzt die Authentifizierung gegen unsere Azure AD-server wie hier beschrieben: http://msdn.microsoft.com/en-us/library/windowsazure/dn151790.aspx
Authentifizierung funktioniert wie erwartet. Allerdings bin ich mir nicht immer alle Rollen wieder standardmäßig. Es sollte mehrere Anzeigengruppen erstellt und ich würde Sie gerne benutzen, um die Rolle beschränken, die Anwendung über die [Genehmigen] - Attribut in MVC.
Kann ich nicht wirklich einen guten Platz finden, um überhaupt anfangen herauszufinden dieses heraus. Kann mir jemand eine Skizze oder mich zu einem guten tutorial?
Sollte ich erwähnen, dass ich nicht der administrator für unsere Azure-Konto, also muss ich sagen zu können, dass unser admin was tun, wenn das setup ist erforderlich, dass auf Seite.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erste, Token zurückgegeben, die von Azure AD derzeit nicht enthalten Forderungen, die für Rollen oder Gruppen, so dass Sie brauchen, um Sie von der Graph API. Zweite, Rollen in Azure AD, die durch zurückgegeben werden die Graph-API sind nicht unbedingt für den Gebrauch in einem ISV/LoB-app, und im Allgemeinen sollten Sie Sicherheitsgruppen verwenden, die für die Autorisierung statt. Die Autorisierung vornehmen, sollten Sie die checkMemberGroups oder getMemberGroups Operationen in der Grafik-API, die transitiv und gültig für diesen Zweck.
Wenn Sie überprüfen Sie die folgenden Ressourcen um, ich denke deine Fragen werden beantwortet. Sie werden lernen, wie zu authentifizieren, die auf dem Graphen, nennen Sie es, und konfigurieren Sie Ihre Anwendung verwenden Sie das Ergebnis von der Gruppe Operationen der Ausführung der Autorisierung:
Sean Antwort ist ein bisschen veraltet. Sie können nun konfigurieren Sie Azure AD, so wird es auch Gruppen oder Rollen innerhalb JWT token, so wird es in
ClaimsPrincipal.Current.Claims
so standard -[Authorize(Roles = "yourRoleName")]
- Attribut arbeiten.Hier ist die Einführung post. Das sagt im Grunde haben Sie zwei Möglichkeiten:
Gruppen behaupten - Sie ändern müssen
groupMembershipClaims
Wert in app-manifest und später in der Anwendung Sie können überprüfen fürClaimsPrincipal.Current.FindFirst("groups").Value
zu sehen, in welcher Gruppe ein Benutzer ist (man bekommt nur group-id). Sie können schreiben, die Sie selbst Autorisieren-Attribut, verwenden Sie diese. mehr infoDefinieren Sie Rollen für Sie Anwendung, und verwenden Sie dann den normalen code für die Prüfung, wenn der Benutzer in Rolle:
[PrincipalPermission(SecurityAction.Demand, Role = “yourRoleName”)]
[Authorize(Roles = “yourRoleName”)]
if (ClaimsPrincipal.Current.IsInRole(“yourRoleName”)) { //do something }
Müssen Sie zu Bearbeiten, Rollen Sie in-app-manifest.
Mehr info hier und hier. Werte, die benötigt werden, legen Sie im manifest beschrieben sind hier
Was ist wirklich seltsam ist, dass Sie können nicht zuweisen, mehr als eine Rolle auf die Gruppe von Azure-web-Seite. Sie müssen verwenden Sie azure Diagramm-api für diese.
Wenn Sie nicht sehen können
Users and Groups
Registerkarte Azure-portal müssen Sie wahrscheinlich Azure-AD-Basic-oder Premium-edition. Wenn Sie auf Kostenlose azure-Abonnement aus, das Sie verwenden können, Kostenlose Azure-AD-Premium-Testversion zu testen Zeug.