public ActionResult Cadastrar(Usuario usuario) { if (!ModelState.IsValid) { return(RedirectToAction("Index").Error("Erro ao realizar cadastro")); } if (usuarioRepository.BuscarPorLogin(usuario.Login) != null) { return(RedirectToAction("Index").Error("Este login já está em uso")); } usuario.CriarUsuario(usuario.Senha); usuarioRepository.Adicionar(usuario); var usuarioCadastrado = usuarioRepository.BuscarPorLogin(usuario.Login); var identity = new ClaimsIdentity(new[] { new Claim("http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider", "ASP.NET Identity"), new Claim(ClaimTypes.NameIdentifier, usuarioCadastrado.UsuarioId.ToString()), new Claim(ClaimTypes.Authentication, usuarioCadastrado.Login), new Claim(ClaimTypes.Name, usuarioCadastrado.Nome), new Claim(ClaimTypes.Role, Enum.GetName(typeof(TipoUsuario), usuarioCadastrado.TipoUsuario)), }, "ApplicationCookie"); Request.GetOwinContext().Authentication.SignIn(identity); return(RedirectToAction("Index", "Home", new { area = "User" }).Success($"Usuário Cadastrado, Bem vindo {usuarioCadastrado.Nome}")); }