public ActionResult AreaSecreta() { UsuarioLogadoModel usuarioLogado = ServicoDeSessao.UsuarioLogado; ViewBag.NomeUsuarioLogado = usuarioLogado.Nome; return(View()); }
public ActionResult Index() { //ConvertMD5 _senhaCrip = new ConvertMD5(); //UsersRepository x = new UsersRepository(); // ViewBag.md5 = _senhaCrip.getMD5Hash("admin"); // ViewBag.md5 = _senhaCrip.getMD5Hash("0000000001"); // ViewBag.md5 = _senhaCrip.getMD5Hash("0000000002"); // ViewBag.md5 = _senhaCrip.getMD5Hash("PhotoCloudMD5CryptographyKey"); // UsuarioLogado objUsuarioLogado = (UsuarioLogado)ViewData["TestValue"]; // ViewBag.dirUsuario = objUsuarioLogado.diretorioUsuario; //UsuarioLogadoModel test = (UsuarioLogadoModel)ViewData["TestValue"]; //string _confDirBase = "0000000000" + test.idUsuario.ToString(); //_confDirBase = _confDirBase.Substring(_confDirBase.Length - 10); //ViewBag.Crip = CryptographyRepository.Criptografar(_confDirBase); //ViewBag.DeCrip = CryptographyRepository.Descriptografar(CryptographyRepository.Criptografar(_confDirBase).ToString()); //ViewBag.xxx = test.diretorioUsuario; //ViewBag.md5 = _senhaCrip.getMD5Hash(CryptographyRepository.Criptografar(_confDirBase)); UsuarioLogadoModel objUsuarioLogado = (UsuarioLogadoModel)ViewData["vdtUsuarioLogado"]; return(View(objUsuarioLogado)); }
public ActionResult Entrar(LoginViewModel loginViewModel) { if (ModelState.IsValid) { // Buscamos o usuário de nosso "Banco de Dados" por seu login e senha. Usuario usuarioEncontrado = _usuarioServico.BuscarUsuarioPorAutenticacao( loginViewModel.Email, loginViewModel.Senha ); if (usuarioEncontrado != null) { // É sempre bom criar uma Model só para o usuário logado. // Digamos que você queira utilizar somente a classe Usuário para isso, // então se quisesse guardar coisas que são da sessão e não da classe usuário, como faria? // mudaria a classe Usuario? Não, porque não é de sua responsabilidade os dados de sessão. // mas uma view model pode ser mais flexivel. var usuarioLogadoModel = new UsuarioLogadoModel(usuarioEncontrado); // Encapsulamos aqui a regra para criar a sessão. ServicoDeSessao.CriarSessao(usuarioLogadoModel); return(RedirectToAction("AreaSecreta")); } else { ModelState.AddModelError("INVALID_USER", "Usuário ou senha inválido."); } } return(View("Index", loginViewModel)); }
protected override bool AuthorizeCore(HttpContextBase httpContext) { UsuarioLogadoModel usuario = ServicoDeAutenticacao.UsuarioLogado; if (usuario == null) { return(false); } return(true); }
// Aqui encapsulamos a lógica para criar a sessão para o usuário. public static void CriarSessao(UsuarioLogadoModel usuario) { // Um Guid gera um hash aleatório. string numeroToken = Guid.NewGuid().ToString(); _usuariosLogados.Add(numeroToken, usuario.Email); HttpContext.Current.Session[USUARIO_LOGADO] = usuario; var cookieDeAutenticacao = new HttpCookie(COOKIE_AUTENTICACAO, numeroToken); HttpContext.Current.Response.Cookies.Set(cookieDeAutenticacao); }
protected override bool AuthorizeCore(HttpContextBase httpContext) { UsuarioLogadoModel usuario = ServicoSessao.UsuarioLogado; bool usuarioEstaLogado = ServicoSessao.EstaLogado; bool usuarioPossuiPermissao = this.Permissoes.Length < 1; if (!usuarioPossuiPermissao) { usuarioPossuiPermissao = usuario.Permissoes.Any(u => this.Permissoes.Contains(u)); } return(usuarioEstaLogado && usuarioPossuiPermissao); }
public ActionResult Login() { // verifiquei no banco // esta ok var usuario = new UsuarioLogadoModel() { Nome = "Batman", Permissoes = new string[1] { "ADMIN" } }; Session["USUARIO_LOGADO"] = usuario; return(RedirectToAction("Secret")); }
protected override bool AuthorizeCore(HttpContextBase httpContext) { UsuarioLogadoModel usuario = ServicoDeAutenticacao.UsuarioLogado; if (usuario == null) { return(false); } string[] permissoesRequidas = this.Roles.Split(',') .Where(p => !String.IsNullOrEmpty(p)) .ToArray(); foreach (string permissao in permissoesRequidas) { if (!usuario.Permissoes.Any(p => p.Equals(permissao))) { return(false); } } return(true); }
public IActionResult Authenticar([FromServices] TokenConfiguration tokenConfigurations) { var user = new UsuarioLogadoModel(); user.UID = Guid.NewGuid().ToString("N"); ClaimsIdentity identity = new ClaimsIdentity( new GenericIdentity(user.UID, "Login"), new [] { new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString("N")), new Claim(JwtRegisteredClaimNames.UniqueName, user.UID), new Claim("userInfo", JsonConvert.SerializeObject(user)) } ); DateTime dataCriacao = DateTime.Now; DateTime dataExpiracao = dataCriacao.AddMinutes(3); user.DataExpiracao = dataExpiracao; var signinCredentials = new SigningCredentials( new SymmetricSecurityKey(Encoding.UTF8.GetBytes(tokenConfigurations.SecretyKey)), SecurityAlgorithms.HmacSha256); var handler = new JwtSecurityTokenHandler(); var securityToken = handler.CreateToken(new SecurityTokenDescriptor { Issuer = tokenConfigurations.Issuer, Audience = tokenConfigurations.Audience, SigningCredentials = signinCredentials, Subject = identity, NotBefore = dataCriacao, Expires = dataExpiracao }); var tokenGenerated = handler.WriteToken(securityToken); return(Ok(new { token = tokenGenerated, userInfo = user })); }
public ActionResult Entrar(LoginViewModel loginViewModel) { if (ModelState.IsValid) { Usuario usuarioEncontrado = _usuarioServico.BuscarUsuarioPorAutenticacao( loginViewModel.Email, loginViewModel.Senha ); if (usuarioEncontrado != null) { var usuarioLogadoModel = new UsuarioLogadoModel(usuarioEncontrado); ServicoDeSessao.CriarSessao(usuarioLogadoModel); return(AcaoInicial()); } else { ModelState.AddModelError("INVALID_USER", "Usuário ou senha inválido."); } } return(View("Index", loginViewModel)); }
public static void Autenticar(UsuarioLogadoModel model) { HttpContext.Current.Session[USUARIO_LOGADO_CHAVE] = model; }
protected override void OnActionExecuting(ActionExecutingContext filterContext) { ConvertMD5 objMD5 = new ConvertMD5(); var CookieAuthentication = filterContext.HttpContext.Request.Cookies[objMD5.getMD5Hash("UserCookieAuthentication")]; if (CookieAuthentication == null) { filterContext.Result = new RedirectToRouteResult( new RouteValueDictionary { { "controller", "Acesso" }, { "action", "Login" } }); } else { string _maqUsuarioCookie = CryptographyRepository.Descriptografar(filterContext.HttpContext.Request.Cookies[objMD5.getMD5Hash("UserCookieAuthentication")][objMD5.getMD5Hash("USUMAQNOM")].ToString()); string _IpUsuarioCookie = CryptographyRepository.Descriptografar(filterContext.HttpContext.Request.Cookies[objMD5.getMD5Hash("UserCookieAuthentication")][objMD5.getMD5Hash("USUMAQIP4")].ToString()); string _IpMaquina; IPHostEntry hostInfo = Dns.GetHostEntry(Dns.GetHostName()); _IpMaquina = hostInfo.AddressList.Where(i => i.AddressFamily.Equals(AddressFamily.InterNetwork)).First().ToString(); if (_maqUsuarioCookie == Dns.GetHostName() && _IpUsuarioCookie == _IpMaquina) { var _idUsuarioCookie = CryptographyRepository.Descriptografar(filterContext.HttpContext.Request.Cookies[objMD5.getMD5Hash("UserCookieAuthentication")][objMD5.getMD5Hash("USUIDLOGD")].ToString()); int IDUsuario; if (int.TryParse(_idUsuarioCookie, out IDUsuario)) { photocloudEntities ContextoUsuario = new photocloudEntities(); var Consulta = (from usuario in ContextoUsuario.pho_usuarios join usuario_acesso in ContextoUsuario.pho_usuario_acesso on usuario.usu_id equals usuario_acesso.usa_fk_usuario where usuario.usu_id == IDUsuario select new { usuario.usu_id, usuario.usu_nome, usuario.usu_sobrenome, usuario.usu_diretoriobase, usuario_acesso.usa_email, usuario_acesso.usa_login }).SingleOrDefault(); // select usuario, usuario_acesso).SingleOrDefault(); int _idUsuario = Consulta.usu_id; string _nomeUsuario = Consulta.usu_nome; string _sobrenomeUsuario = Consulta.usu_sobrenome; string _emailUsuario = Consulta.usa_email; string _loginUsuario = Consulta.usa_login; string _diretorioUsuario = Consulta.usu_diretoriobase; UsuarioLogadoModel objUsuarioLogado = new UsuarioLogadoModel(); objUsuarioLogado.idUsuario = _idUsuario; objUsuarioLogado.nomeUsuario = _nomeUsuario; objUsuarioLogado.sobrenomeUsuario = _sobrenomeUsuario; objUsuarioLogado.loginUsuario = _loginUsuario; objUsuarioLogado.diretorioUsuario = _diretorioUsuario; filterContext.Controller.ViewData.Add("vdtUsuarioLogado", objUsuarioLogado); } else { filterContext.Result = new RedirectToRouteResult( new RouteValueDictionary { { "controller", "Acesso" }, { "action", "login" } }); } } else { filterContext.Result = new RedirectToRouteResult( new RouteValueDictionary { { "controller", "Acesso" }, { "action", "login" } }); } } base.OnActionExecuting(filterContext); }
public static void CriarSessao(UsuarioLogadoModel usuario) { UsuarioLogado = usuario; }
public ActionResult SuperSecret() { UsuarioLogadoModel usuario = (UsuarioLogadoModel)Session["USUARIO_LOGADO"]; return(View(usuario)); }