예제 #1
0
        public static void UpdateImageClaim(this IPrincipal currentPrincipal, int id,
                                            IUsuarioAppServices usuarioAppService)
        {
            var identity = currentPrincipal.Identity as ClaimsIdentity;

            if (identity == null)
            {
                return;
            }

            identity.RemoveClaim(identity.FindFirst(c => c.Type == ClaimTypes.UserData));

            var usuario = usuarioAppService.ObterPorId(id);

            if (usuario.CaminhoImg == null)
            {
                string imgDefault = "~/Images/ProfileImages/default-img.png";
                identity.AddClaim(new Claim(ClaimTypes.UserData, imgDefault));
            }
            else
            {
                identity.AddClaim(new Claim(ClaimTypes.UserData, usuario.CaminhoImg));
            }

            var authenticationManager = HttpContext.Current.GetOwinContext().Authentication;

            authenticationManager.AuthenticationResponseGrant = new AuthenticationResponseGrant(new ClaimsPrincipal(identity), new AuthenticationProperties()
            {
                IsPersistent = true
            });
        }
예제 #2
0
 public ActionResult Detalhes(int id)
 {
     ViewBag.Permissoes = _permissaoAppServices.ObterTodos();
     return(View(_usuarioAppServices.ObterPorId(id)));
 }