Wenn die Rollenverwaltung aktiviert ist, erstellt RoleManagerModule
gemäß meinem Buch den Sicherheitskontext des Benutzers, indem RolePrincipal
Objekt der HttpRequest.User
zugewiesen wird. Aber ist der Sicherheitskontext nicht bereits erstellt (also das Hauptobjekt wird HttpContext.User
zugewiesen), indem FormsAuthenticationModule
aufgerufen wird, das vor dem Aufruf RoleManagerModule
aufgerufen wird?RoleManagerModule und RolePrincipal-Objekt
Ich frage dies, weil in der folgenden Code Hauptaufgabe zugewiesen HttpRequest.User
bereits vorhanden ist, obwohl RoleManagerModule
noch nicht genannt worden:
protected void Application_AuthenticateRequest(Object sender, EventArgs e)
{
if (User.Identity.IsAuthenticated && Roles.Enabled)
{
//here we subscribe user to a role via Roles.AddUserToRole()
}
}
So ist Hauptaufgabe, erstellt von FormsAuthenticationModule
und zugewiesen HttpRequest.User
, später ersetzt durch RolePrincipal
Objekt (erstellt von RoleManagerModule
)?
vielen Dank – SourceC
Gah! Mein benutzerdefinierter Prinzipal implementierte IPrincipal, nicht RolePrincipal, daher wurde die Implementierung meines RoleProviders nicht korrekt verwendet, wenn PostAuthenticateRequest bearbeitet wurde. Vielen Dank dafür, @bbmud! –