예제 #1
0
        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);
            }
        }
예제 #2
0
        public static void CriarSessao(Usuario usuario)
        {
            var usuarioLogado = new UsuarioLogado(usuario);

            FormsAuthentication.SetAuthCookie(usuarioLogado.Login, true);
            HttpContext.Current.Session["USUARIO_LOGADO"] = usuarioLogado;
        }