public override void OnAuthorization(AuthorizationContext filterContext) { if (AuthorizeCore(filterContext.HttpContext)) { UsuarioLogado usuarioLogado = ControleDeSessao.UsuarioLogado; if (usuarioLogado != null) { var identidade = new GenericIdentity(usuarioLogado.Login); string[] roles = usuarioLogado.Permissoes; var principal = new GenericPrincipal(identidade, roles); Thread.CurrentPrincipal = principal; HttpContext.Current.User = principal; base.OnAuthorization(filterContext); } else { filterContext.Result = new RedirectToRouteResult (new RouteValueDictionary { { "action", "Index" }, { "controller", "Login" } }); } } else { HandleUnauthorizedRequest(filterContext); } }
public static void CriarSessao(Usuario usuario) { var usuarioLogado = new UsuarioLogado(usuario); FormsAuthentication.SetAuthCookie(usuarioLogado.Login, true); HttpContext.Current.Session["USUARIO_LOGADO"] = usuarioLogado; }