コード例 #1
0
        public ActionResult Login(string returnUrl)
        {
            RegistroPassWpord_Response model = new RegistroPassWpord_Response();

            ViewBag.ReturnUrl = returnUrl;
            //ViewBag.lstEmpresas = getempresaslogin();
            return(View(model));
        }
コード例 #2
0
        public async Task <ActionResult> Login(RegistroPassWpord_Response model)
        {
            try
            {
                bool   error  = false;
                string nombre = "";
                if (string.IsNullOrEmpty(model.email))
                {
                    ModelState.AddModelError("", "El email es una campo requerido");
                    error = true;
                }

                if (string.IsNullOrEmpty(model.password))
                {
                    ModelState.AddModelError("", "El password es una campo requerido");
                    error = true;
                }
                //if (string.IsNullOrEmpty(model.empresa))
                //{
                //    ModelState.AddModelError("", "La empresa es una campo requerido");
                //    error = true;
                //}
                //&& x.vRucEmpresa.Equals(model.empresa)
                if (error)
                {
                    throw new Exception("");
                }
                Data.PersistenceModel.Tb_MD_Mae_Usuarios login_result  = null;
                Data.PersistenceModel.Tb_MD_Per_Natural  login_persona = null;
                string clave = MesaDinero.Domain.Helper.Encrypt.EncryptKey(model.password);
                //string clave = model.password;
                using (MesaDinero.Data.PersistenceModel.MesaDineroContext context = new Data.PersistenceModel.MesaDineroContext())
                {
                    login_result  = context.Tb_MD_Mae_Usuarios.FirstOrDefault(x => x.vEmailUsuario.Equals(model.email) && x.vPassword.Equals(clave));
                    login_persona = context.Tb_MD_Per_Natural.FirstOrDefault(x => x.vNumDocumento == login_result.vNroDocumento);

                    if (login_persona != null)
                    {
                        nombre = login_persona.vNombre;
                        //+" " + login_persona.vApellido;
                    }
                    //" "+login_persona.vApellidoMat
                    if (login_result == null)
                    {
                        ModelState.AddModelError("", "El usuario o password es incorrecto.");
                        error = true;
                    }

                    if (error)
                    {
                        throw new Exception("");
                    }
                }
                /*NUEVO CAMBIAR*/



                var claims = new List <Claim>
                {
                    new Claim(ClaimTypes.WindowsAccountName, model.email),
                    new Claim(ClaimTypes.Name, nombre),
                    new Claim(ClaimTypes.Actor, model.email),
                    new Claim(ClaimTypes.PostalCode, login_result.iIdUsuario.ToString()),
                    new Claim(ClaimTypes.Role, login_result.vNroDocumento),
                    new Claim(ClaimTypes.NameIdentifier, login_result.vEmailUsuario),
                    new Claim(ClaimTypes.Country, login_result.vRucEmpresa ?? ""),
                    new Claim("http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider", model.email)
                    //new Claim(ClaimTypes., curUser.UserGroupID.ToString())
                };
                var id  = new ClaimsIdentity(claims, DefaultAuthenticationTypes.ApplicationCookie);
                var ctx = Request.GetOwinContext();
                AuthenticationManager.SignIn(id);

                //if (login_result.Rol.Equals("Operador"))
                //    return RedirectToAction("", "Operador");

                //if (login_result.Rol.Equals("Fideicomiso"))
                //    return RedirectToAction("", "Fideicomiso");


                return(RedirectToAction("", "Home"));
            }
            catch (Exception ex)
            {
                ViewBag.lstEmpresas = getempresaslogin();
                return(View(model));
            }
        }