Ich baue eine MVC4-Anwendung für den internen Gebrauch in einer Unternehmensumgebung. Ich benutze Windows-Authentifizierung, was gut funktioniert, aber ich habe Probleme mit Active Directory-Gruppen als Rollen für die Autorisierung.Autorisierung mit Active Directory-Rollenanbieter MVC4
sieht mein Web.config wie folgt aus:
<authentication mode="Windows" />
<roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider">
<providers>
<clear />
<add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
</providers>
</roleManager>
<authorization>
<deny users="?" />
</authorization>
Wenn ich Benutzerberechtigung verwenden, es funktioniert:
[Authorize(Users = @"DOMAIN\User1, DOMAIN\User2")]
public ActionResult Create()
{
return View();
}
Aber wenn ich Rollen verwenden, ist es, dass es einfach nicht lassen Benutzer Gruppe, um auf diese Aktion zuzugreifen:
Ich habe auch versucht, die Gruppe ohne die Domäne, wie ich in anderen re lesen Ich glaube, ich vermisse etwas in der Web.config, aber ich bin mir nicht sicher, was ...
Ich vermied es, einen benutzerdefinierten Rollenanbieter zu verwenden, weil MVC4 erreichen soll dies ohne einen benutzerdefinierten Rollenanbieter (oder zumindest das ist, was ich dachte)
Kann mir jemand dabei helfen?
Vielen Dank im Voraus!
Ah, doppelter Backslash !! Ich arbeite seit Stunden daran - Cheers –
@ D.Mac - Seine Standard-C# String Formatierung/Escaping: "Domain \\ Gruppe" oder @ "Domain \ Group". https://msdn.microsoft.com/en-us/library/aa691090(v=vs.71).aspx –
Ja, das Spiel kann nicht der Grund oder der semantische Unterschied sein, da es nur eine syntaktische Angelegenheit ist – Mzn