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");
}
}
答案 0 :(得分:3)
我认为您应该订阅AuthorizeRequest
。此事件发生在AuthenticateRequest
之后,因此已建立了委托人的身份。