protected void Application_AuthenticateRequest(object sender, EventArgs args)
{
//
// Here's the magic:
// we translate an asp.net provided IPrincipal to
// our own custom IPrincipal implementation...
//
HttpContext context = HttpContext.Current;
System.Security.Principal.IPrincipal user = context.User;
//Console.WriteLine("Application_AuthenticateRequest: User={0}", user);
if (null != user && user.Identity.IsAuthenticated)
{
//Console.WriteLine("User.Identity.Name={0}", user.Identity.Name);
try
{
context.User = UserLoginSystem.GetUser(user.Identity.Name);
}
catch (ApplicationException)
{
// user was removed?
FormsAuthentication.SignOut();
context.User = null;
}
}
}