[英]Is there an event which fires after user is authenticated?
用户经过身份验证或授权后,global.asax中是否有仅触发一次的事件? 无论用户是否获得授权,只要进入应用程序,会话启动都会触发。
将此事件添加到global.asax页面中,用于检查当前用户是否已登录并将用户详细信息存储在httpconext.current.user
。
protected void Application_AuthenticateRequest(Object sender, EventArgs e)
{
if (HttpContext.Current.User != null)
{
if (HttpContext.Current.User.Identity.IsAuthenticated)
{
if (HttpContext.Current.User.Identity is FormsIdentity)
{
FormsIdentity id =
(FormsIdentity)HttpContext.Current.User.Identity;
FormsAuthenticationTicket ticket = id.Ticket;
// Get the stored user-data, in this case, our roles
string userData = ticket.UserData;
string[] roles = userData.Split(',');
HttpContext.Current.User = new GenericPrincipal(id, roles);
}
}
}
}
AuthenticateRequest
在每个请求上触发,使您可以准备HttpContext来执行请求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.