User.IsInRole vs Roles.IsUserInRole in AuthenticateRequest



HttpContext.Current.User.IsInRole在AuthenticateRequest中可用;但是,Roles.IsUserInRole可用。

是因为在AuthenticateRequest之后将新的GenericPrincipal分配给了HttpContext.Current.User吗?有人能给我解释一下吗?感谢你的帮助!

void Application_AuthenticateRequest(object sender, EventArgs e)
{
    if(HttpContext.Current.Request.IsAuthenticated)
    {
        // Return False
        bool result1 = HttpContext.Current.User.IsInRole("Administrators");
        // Return True
        bool result2 = Roles.IsUserInRole("Administrators");
    }
}

我认为您应该订阅AuthorizeRequest。此事件发生在AuthenticateRequest之后,因此主体的身份已建立。

http://msdn.microsoft.com/en-us/library/bb470252.aspx

最新更新