Exemple #1
0
        public ActionResult Acessar(DTOLogin dtoLogin)
        {
            try
            {
                string browser = System.Web.HttpContext.Current.Request.Browser.Browser;
                string ip      = App.BaseService.GetIpAddress();

                App.BaseService.SetCurrentBrowser(browser);
                App.BaseService.SetCurrentIp(ip);

                Usuario usu =
                    new Usuario
                {
                    ChaveDeAcesso    = dtoLogin.Login,
                    Senha            = dtoLogin.Senha,
                    TipoAutenticacao = Model.Enum.TipoAutenticacao.SSO,
                };

                var result = new { status = "Ok", message = App.AutenticacaoService.Autenticar(ref usu) };


                return(Json(result, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                var result = new { status = "Erro", message = ex.Message.ToString() };

                return(Json(result, JsonRequestBehavior.AllowGet));
            }
        }
Exemple #2
0
        public async Task <ActionResult <DTOUser> > Login(DTOLogin loginDto)
        {
            var user = await _userManager.Users
                       .Include(p => p.Photos)
                       .SingleOrDefaultAsync(x => x.UserName == loginDto.UserName.ToLower());

            if (user == null)
            {
                return(Unauthorized("Invalid username"));
            }

            var result = await _signInManager
                         .CheckPasswordSignInAsync(user, loginDto.Password, false);

            if (!result.Succeeded)
            {
                return(Unauthorized());
            }

            return(new DTOUser
            {
                Username = user.UserName,
                Token = await _tokenService.CreateToken(user),
                PhotoUrl = user.Photos.FirstOrDefault(x => x.IsMain)?.Url,
                KnownAs = user.KnownAs,
                Gender = user.Gender
            });
        }
Exemple #3
0
        public ReturnResponse UserLogin(DTOLogin dto)
        {
            ReturnResponse res = new ReturnResponse();

            if (string.IsNullOrEmpty(dto.Uid.Trim()))
            {
                throw new CustomExecption("1001", "用户名不能为空");
            }
            bool IsPass = true; //[FromBody]
                                //string loginInfo = ConfigurationUtil.GetSection<AppSettings>("AppSettings").LoginInfo;// Environment.GetEnvironmentVariable("LoginInfo");
                                //if (string.IsNullOrEmpty(loginInfo)) IsPass = false;
                                //var lInfos = loginInfo.Split(":");
                                //if (lInfos.Count() != 2) IsPass = false;
            var bll  = new Repository <Prc_UserInfo>(DbContext);
            var user = bll.Get(o => o.LoginName == dto.Uid.Trim() && o.IsDelete == false);

            if (user == null)
            {
                throw new CustomExecption("1001", "用户名不存在");
            }
            var pass = DecodeBase64("utf-8", dto.Pid);

            if (user.PassWord != pass || dto.Uid.Trim() != user.LoginName)
            {
                IsPass = false;
            }
            if (!IsPass)
            {
                throw new CustomExecption("1002", "用户名或者密码错误");
            }
            // BaseControllerLogin sess = new BaseControllerLogin();
            // HttpContext.Session.SetString("sessionkey", "sessionvalue123");
            SaveSession(user);
            return(res);
        }
        public async Task <IActionResult> Login(DTOLogin loginModel, string returnUrl = null)
        {
            returnUrl = returnUrl ?? Url.Content("~/");
            if (ModelState.IsValid)
            {
                var personel = await _personelService.Login(loginModel);

                if (personel != null)
                {
                    var claims = new List <Claim>
                    {
                        new Claim(ClaimTypes.Name, personel.PersonelId.ToString())
                    };

                    var             userIdentity = new ClaimsIdentity(claims, "login");
                    ClaimsPrincipal principal    = new ClaimsPrincipal(userIdentity);
                    await HttpContext.SignInAsync(principal);

                    return(LocalRedirect(returnUrl));
                }
                else
                {
                    ModelState.AddModelError("CustomError", "Personel adi veya şifresi yanlış!");
                }
            }
            return(View());
        }
Exemple #5
0
        public IHttpActionResult iniciarSesion([FromBody] DTOLogin log)
        {
            try
            {
                if (log == null)
                {
                    return(Content(HttpStatusCode.BadRequest, "No."));
                }

                EPersona   res = cGeneral.iniciarSesion(log.email, log.password, log.rol);
                DTOEpToken ept = new DTOEpToken();
                ept.id            = res.id;
                ept.Password      = "******";
                ept.Correo        = res.Correo;
                ept.Documento     = res.Documento;
                ept.TipoDocumento = res.TipoDocumento;
                ept.pNombre       = res.pNombre;
                ept.sNombre       = res.sNombre;
                ept.pApellido     = res.pApellido;
                ept.sApellido     = res.sApellido;
                ept.tokenJWT      = TokenGenerator.GenerateTokenJwt(log.email);

                return(Ok(ept));
            }
            catch (Exception)
            {
                return(NotFound());
            }
        }
Exemple #6
0
        public ActionResult registrarse(DTORegistro persona)
        {
            EPersona per = new EPersona();

            per.id        = persona.id;
            per.Documento = persona.Documento;
            per.Correo    = persona.Correo;

            string source = persona.Password;

            using (SHA256 sha256Hash = SHA256.Create())
            {
                string hash = GetHash(sha256Hash, source);
                per.Password = hash;
            }



            per.TipoDocumento = (int)persona.TipoDocumento;
            per.pNombre       = persona.pNombre;
            per.sNombre       = persona.sNombre;
            per.pApellido     = persona.pApellido;
            per.sApellido     = persona.sApellido;


            if (pxi.existEmail(persona.Correo))
            {
                ViewBag.Message = "El correo ya existe.";
                return(View());
            }
            else
            {
                pxi.crearPersona(per);
                //return RedirectToAction("Index");

                DTOLogin log = new DTOLogin();

                log.email    = persona.Correo;
                log.password = per.Password;
                log.rol      = "Usuario";
                DTOEpToken res = pxg.iniciarSesion(log);

                Session["idPersona"] = res.id;
                Session["pNombre"]   = res.pNombre;
                Session["sNombre"]   = res.sNombre;
                Session["pApellido"] = res.pApellido;
                Session["sApellido"] = res.sApellido;
                Session["Correo"]    = res.Correo;
                Session["Password"]  = res.Password; //ojo que es "null"
                Session["tokenJWT"]  = res.tokenJWT; //cargo el token

                TipoDoc r = (TipoDoc)res.TipoDocumento;
                Session["TipoDocumento"] = r.ToString();

                Session["Documento"] = res.Documento;
                Session["Rol"]       = log.rol;

                return(RedirectToAction("Index", "usuario"));
            }
        }
Exemple #7
0
        public async Task <IActionResult> Login(DTOLogin dtologin)
        {
            var userFromDb = await _repo.Login(dtologin.Username, dtologin.Password);

            if (userFromDb == null)
            {
                return(Unauthorized());
            }

            var claims = new[] {
                new Claim(ClaimTypes.NameIdentifier, userFromDb.Id.ToString()),
                new Claim(ClaimTypes.Name, userFromDb.UserName)
            };

            var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_config.GetSection("AppSettings:Token").Value));

            var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha512Signature);

            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject            = new ClaimsIdentity(claims),
                Expires            = DateTime.Now.AddDays(1),
                SigningCredentials = creds
            };

            var tokenHandler = new JwtSecurityTokenHandler();

            var token = tokenHandler.CreateToken(tokenDescriptor);

            return(Ok(new
            {
                token = tokenHandler.WriteToken(token)
            }));
        }
Exemple #8
0
        //public string Baseurl = "https://localhost:44330/general/";

        public DTOEpToken iniciarSesion(DTOLogin log)
        {
            using (var client = new HttpClient())
            {
                var task = client.PostAsJsonAsync(Baseurl + "login", log)
                           .ContinueWith(x => x.Result.Content.ReadAsAsync <DTOEpToken>().Result);
                task.Wait();
                return(task.Result);
            }
        }
Exemple #9
0
        public async Task <Personel> Login(DTOLogin dTOLogin)
        {
            var personel = await _personelRepository.Get(x => x.Adi == dTOLogin.PersonelAdi && x.Sifre == dTOLogin.PersonelSifre && x.Status == StatusEnum.Active);

            if (personel == null)
            {
                return(null);
            }
            personel.Sifre = "";

            return(personel);
        }
        public async Task <IActionResult> Login([FromForm] DTOLogin loginInfo)
        {
            User user = await _userManager.FindByNameAsync(loginInfo.Username);

            if (user != null && await _userManager.CheckPasswordAsync(user, loginInfo.Password))
            {
                var token = generateJwtToken(user);
                return(Ok(new { token }));
            }
            else
            {
                return(BadRequest(new { message = "Incorect Password!" }));
            }
        }
        private bool ValidaAdmin(DTOLogin login)
        {
            string ADMIN_USER = System.Web.Configuration.WebConfigurationManager.AppSettings["AdminUser"];
            string ADMIN_PASS = System.Web.Configuration.WebConfigurationManager.AppSettings["AdminPass"];

            if (login.USU_USERNAME == ADMIN_USER && login.USU_PASS == ADMIN_PASS)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Exemple #12
0
        public DTORespuesta ValidaLogin(DTOLogin login)
        {
            DTORespuesta respuesta = modelo.ValidaLogin(login);

            if ((bool)respuesta.Resultado)
            {
                DTOUsuario user = mapper.Map <DTOUsuario, DTOUsuario>((DTOUsuario)respuesta.Elemento);

                DTOSessionUsuario sess = new DTOSessionUsuario();
                sess.Usuario         = mapper.Map <DTOUsuario, DTOUsuario>(user);
                sess.Funcionalidades = mFuncionalidad.GetFuncionalidadesByLogin(login.USU_USERNAME);

                UrlHelper url = new UrlHelper(System.Web.HttpContext.Current.Request.RequestContext);

                RegisterSession(sess);
            }

            return(respuesta);
        }
Exemple #13
0
        public async Task <ActionResult> Login(DTOLogin user)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    if (string.IsNullOrWhiteSpace(user.USU_USERNAME) || string.IsNullOrWhiteSpace(user.USU_PASS))
                    {
                        return(RedirectToAction("Index", "Login"));
                    }

                    MSession     modelo    = new MSession();
                    DTORespuesta respuesta = modelo.ValidaLogin(user);

                    if ((bool)respuesta.Resultado)
                    {
                        DTOSessionUsuario sess = (DTOSessionUsuario)MSession.ReturnSessionObject();
                        sess.Usuario = await modeloLogin.UpdateUsuario(sess.Usuario);

                        //TODO: Eliminar los archivos asociados al usuario. (Async)
                        mFile = new MFile();
                        await mFile.eliminarArchivosByLoginAsync(sess.Usuario.USU_LOGIN);

                        return(RedirectToAction("Index", "Home"));
                    }
                    else
                    {
                        Session["ResultadoAccesoLogin"] = respuesta;
                        return(RedirectToAction("Index", "Login"));
                    }
                }
                else
                {
                    return(RedirectToAction("Index", "Login"));
                }
            }
            catch (Exception ex)
            {
                return(RedirectToAction("Index", "Login"));
            }
        }
Exemple #14
0
        public async Task <ActionResult> Login(DTOLogin usr)
        {
            if (ModelState.IsValid)
            {
                var loginData = todo.Users
                                .Where(u => u.UserName == usr.UserName)
                                .Select(u => new { u.UserName, u.Password });
                try
                {
                    string usrName = loginData.FirstOrDefault().UserName;
                    string pass    = loginData.FirstOrDefault().Password;

                    string hashedPassFromUser = PassEncryption.ComputeSHA1(usr.Password);
                    int    match = string.Compare(pass, hashedPassFromUser);

                    if (match == 0 && usr.UserName == usrName)
                    {
                        List <Claim> userClaims = new List <Claim>//read about asp.net core identity.
                        {
                            new Claim("UserName", Convert.ToString(usrName))
                        };
                        ClaimsPrincipal principal = new ClaimsPrincipal(new ClaimsIdentity(userClaims, "local"));
                        await HttpContext.Authentication.SignInAsync("MyCookieMiddlewareInstance-TODOAPP1122016", principal);//this was set up in startup.cs. i'm using cookie middleware

                        return(RedirectToAction("Index", "Todo"));
                    }

                    else
                    {
                        ModelState.AddModelError("1", "Incorrect login data !");
                    }
                }
                catch (Exception ex)
                {
                    ModelState.AddModelError("2", "no user found" + ex);
                }
            }

            return(RedirectToAction("LogIn"));
        }
Exemple #15
0
        public ActionResult Login(DTOLogin l)
        {
            System.Web.HttpContext.Current.Session["isAuth"] = "false";
            if (ModelState.IsValid)
            {
                Usuario u = daoU.findOne(l.nombre, l.contra);
                if (u == null)
                {
                    putVariables();
                    return(View());
                }
                else
                {
                    System.Web.HttpContext.Current.Session["nivel"]  = u.nivel_usuario.ToLower().Trim();
                    System.Web.HttpContext.Current.Session["isAuth"] = "true";
                    putVariables();
                    return(RedirectToAction("Cliente"));
                }
            }

            putVariables();
            return(View());
        }
        public DTORespuesta ValidaLogin(DTOLogin login)
        {
            DTORespuesta respuesta = new DTORespuesta();

            Essbio.SUL.Seguridad.Usuario user = null;
            try
            {
                user = new Essbio.SUL.Seguridad.Usuario(login.USU_USERNAME, login.USU_PASS);
            }
            catch (Exception ex)
            {
                respuesta.Resultado = false;
                respuesta.Mensaje   = ex.Message.Replace("<br/>", "\\n");
                return(respuesta);
            }

            try
            {
                if (ValidaAdmin(login) == false)
                {
                    if (user != null)
                    {
                        DTOUsuario usuario = new DTOUsuario();
                        usuario.USU_DV_RUT             = "";
                        usuario.USU_ID_USUARIO         = user.P_ID_USUARIO;
                        usuario.USU_LOGIN              = login.USU_USERNAME;
                        usuario.USU_NOMBRE_COMPLETO    = login.USU_USERNAME;
                        usuario.USU_PERF_ADMINISTRADOR = true;
                        usuario.USU_PERF_ID_PERFIL     = 0;
                        usuario.USU_RUT          = 0;
                        usuario.USU_RUT_COMPLETO = "";
                        usuario.USU_SED_ID_SEDE  = 0;
                        usuario.USU_VIGENTE      = true;

                        if (user.EstadoUsuario == Essbio.SUL.Seguridad.EstadoUsuario.Logeado)
                        {
                            respuesta.Resultado = true;
                            respuesta.Elemento  = usuario;
                        }
                        else
                        {
                            respuesta.Resultado = false;
                            respuesta.Mensaje   = "La cuenta de usuario esta no vigente, comuníquese con el administrador del sistema";
                        }
                    }
                    else
                    {
                        respuesta.Resultado = false;
                        respuesta.Mensaje   = "Las credenciales ingresadas no son correctas, reingrese nuevamente";
                    }
                }
                else
                {
                    DTOUsuario usuario = new DTOUsuario();

                    if (usuario.USU_ID_USUARIO > 0)
                    {
                        respuesta.Resultado = true;
                        respuesta.Elemento  = usuario;
                    }
                    else
                    {
                        respuesta.Resultado = false;
                        respuesta.Mensaje   = "La cuenta de usuario esta no vigente, comuníquese con el administrador del sistema";
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(respuesta);
        }
Exemple #17
0
        public ActionResult Login(DTOLogForm logf)
        {
            Session.Clear();
            DTOLogin log = new DTOLogin();

            log.email = logf.email;

            string source = logf.password;

            using (SHA256 sha256Hash = SHA256.Create())
            {
                string hash = GetHash(sha256Hash, source);
                log.password = hash;
            }

            log.rol = logf.rol.ToString();

            DTOEpToken res = pxg.iniciarSesion(log);

            if (res.pNombre == "Error")
            {
                ViewBag.Message = "Usuario no registrado";
                return(View());
            }
            else
            {
                if (res.pNombre == "ErrorRol")
                {
                    ViewBag.Message = "Rol Incorrecto";
                    return(View());
                }
                else
                {
                    Session["idPersona"] = res.id;
                    Session["pNombre"]   = res.pNombre;
                    Session["sNombre"]   = res.sNombre;
                    Session["pApellido"] = res.pApellido;
                    Session["sApellido"] = res.sApellido;
                    Session["Correo"]    = res.Correo;
                    Session["Password"]  = res.Password; //ojo que es "null"
                    Session["tokenJWT"]  = res.tokenJWT; //cargo el token

                    TipoDoc r = (TipoDoc)res.TipoDocumento;
                    Session["TipoDocumento"] = r.ToString();

                    Session["Documento"] = res.Documento;
                    Session["Rol"]       = log.rol;

                    if (log.rol == "Admin")
                    {
                        return(RedirectToAction("admin"));
                    }
                    if (log.rol == "SuperAdmin")
                    {
                        return(RedirectToAction("superAdmin"));
                    }
                    if (log.rol == "Usuario")
                    {
                        return(RedirectToAction("usuario"));
                    }
                    if (log.rol == "Conductor")
                    {
                        return(RedirectToAction("conductor"));
                    }
                    return(RedirectToAction("Index"));
                }
            }
        }