protected void Application_PostAuthenticateRequest(Object sender, EventArgs e) { if (FormsAuthentication.CookiesSupported == true) { if (Request.Cookies[FormsAuthentication.FormsCookieName] != null) { try { // usuario autenticado string username = FormsAuthentication.Decrypt(Request.Cookies[FormsAuthentication.FormsCookieName].Value).Name; string roles = string.Empty; if (!username.Contains("@")) { // usuario administrativo // roles Usuario.tab var usuario = new Salao.Domain.Service.Admin.UsuarioService().Listar().FirstOrDefault(x => x.Login == username); if (usuario != null) { roles = usuario.Roles; } } else { roles = new Salao.Domain.Service.Cliente.CliUsuarioService().GetRoles(username); } // atribui roles a identidade Principal HttpContext.Current.User = new System.Security.Principal.GenericPrincipal( new System.Security.Principal.GenericIdentity(username, "Forms"), roles.Split(';')); } catch (Exception) { //somehting went wrong } } } }