Согласно моей книге, если управление ролями включено, то RoleManagerModule
создает контекст безопасности пользователя, назначая объект RolePrincipal
объекту HttpRequest.User
. Но разве контекст безопасности уже не создан (таким образом, главный объект присваивается HttpContext.User
) FormsAuthenticationModule
, который вызывается до вызова RoleManagerModule
?
Я спрашиваю об этом, потому что в следующем коде объект-принципал, присвоенный HttpRequest.User
, уже существует, хотя RoleManagerModule
еще не был вызван:
protected void Application_AuthenticateRequest(Object sender, EventArgs e)
{
if (User.Identity.IsAuthenticated && Roles.Enabled)
{
//here we subscribe user to a role via Roles.AddUserToRole()
}
}
Итак, главный объект, созданный FormsAuthenticationModule
и назначенный HttpRequest.User
, позже заменен объектом RolePrincipal
(созданным RoleManagerModule
)?