Exemple #1
0
 /// <summary>
 /// Realiza la autenticacion del usuario
 /// </summary>
 /// <param name="correoElectronico"></param>
 /// <param name="contrasena"></param>
 /// <param name="idUsuarioLogueado"></param>
 /// <param name="nombreUsuarioLogueado"></param>
 /// <param name="ipAddress"></param>
 /// <returns></returns>
 public TEC_MensajeOfTEC_Usuario AutenticarUsuario(string correoElectronico, string contrasena,
                                                   int idUsuarioLogueado, string nombreUsuarioLogueado, string ipAddress, string sessionId)
 {
     SegCredenciales.CodigoAplicacionLogueado =
         Convert.ToInt32((ConfigurationManager.AppSettings["CodigoAplicacionLogueado"]));
     SegCredenciales.UsuarioAplicacionLogueado           = ConfigurationManager.AppSettings["UsuarioAplicacionLogueado"];
     SegCredenciales.ContrasenaUsuarioAplicacionLogueado =
         ConfigurationManager.AppSettings["ContrasenaUsuarioAplicacionLogueado"];
     SegCredenciales.IdUsuarioLogueado = idUsuarioLogueado;
     SegCredenciales.UsuarioLogueado   = nombreUsuarioLogueado;
     SegCredenciales.IpAddress         = ipAddress;
     SegCredenciales.SessionId         = sessionId;
     return(WCF_Seguridad.Usu_AutenticarUsuario(correoElectronico, contrasena, SegCredenciales));
 }
        public ActionResult Ingresar(List <String> Datos, string returnUrl)
        {
            string _Usuario    = Datos[0];
            string _Contraseña = Datos[1];

            Seguridad wsseg = new Seguridad();

            WSSeguridadTec.TEC_IWCF_SeguridadClient wssegTec = new TEC_IWCF_SeguridadClient();
            TEC_Credenciales credenciales = new TEC_Credenciales();

            credenciales.CodigoAplicacionLogueado            = 1;
            credenciales.ContrasenaUsuarioAplicacionLogueado = "";
            credenciales.UsuarioAplicacionLogueado           = "";
            credenciales.IpAddress = "1.0.0.0";


            var respuestaAutenticacion = wssegTec.Usu_AutenticarUsuario(_Usuario, _Contraseña, credenciales);

            var Foto = new wsFotosEstudiantes.wsUtilitarios();

            //int codTipoUsuario = Convert.ToInt32(Datos[2]);
            //int codTipoUsuario = codTipoUsuario_funtion(_Usuario, _Contraseña);
            Session["COD_SEDE"] = "SJ";                     //funciona solo para Cartago ahorita
            int codTipoUsuario = Convert.ToInt32(Datos[2]); //funciona solo para funcionarios ahorita

            try
            {
                if ((_Usuario != "") && (_Contraseña != ""))
                {
                    switch (codTipoUsuario)
                    {
                    case 1:    //Funcionario
                    {
                        if (wsseg.ValidarFuncionario(_Usuario, _Contraseña))
                        {
                            //wsseg.ValidarFuncionario(_Usuario, _Contraseña);
                            Session.Add("ID_USUARIO", _Usuario);
                            Session.Add("COD_USUARIO", "FUNCIONARIO");
                            Session.Add("NOM_USUARIO", wsseg.ObtenerNombreUsuario(_Usuario));         //obtener nombre completo del usuario.
                            Session.Add("COD_SEDE", Session["COD_SEDE"].ToString());
                            Session.Add("NOM_DEPARTAMENTO", wsseg.ObtenerDepartamento(_Usuario));
                            User.Identity.Name.Equals(_Usuario);

                            int idEstudiante;
                            if (int.TryParse(_Usuario, out idEstudiante))
                            {
                                var obtieneFoto = Foto.CargarFoto("200");
                                var foto        = Convert.ToBase64String(Foto.CargarFoto("200"));
                                Session["FOTO"] = foto;
                            }
                            else
                            {
                                var obtieneFoto = Foto.CargarFoto("200");
                                Session["FOTO"] = null;
                            }

                            Seguridad wsSeg = new Seguridad();
                            string    _Cedula = "", _Correo = "";
                            _Cedula               = wsSeg.ObtenerCedula(_Usuario);
                            _Correo               = _Usuario + "@itcr.ac.cr";
                            Session["Email"]      = _Correo;
                            Session["NUM_CEDULA"] = _Cedula;
                            NAdministrador usuario     = new NAdministrador();
                            var            tipoUsuario = usuario.getAdministradores().Where(x => x.Usuario == _Usuario).FirstOrDefault();
                            NProfesor      temp        = new NProfesor();

                            var tipoUsuario2 = temp.getProfesor().Where(x => x.Usuario == _Usuario).FirstOrDefault();
                            if (tipoUsuario == null)
                            {
                                if (tipoUsuario2 != null)
                                {
                                    Session["IdProfesor"]  = tipoUsuario2.IdProfesor;
                                    Session["CorreoProfe"] = tipoUsuario2.CorreoElectronico;
                                    Session["TipoUsuario"] = 2;
                                    Session["Permisos"]    = 0;
                                    var res = new { Success = "True" };
                                    return(Json(res, JsonRequestBehavior.AllowGet));
                                }
                                else
                                {
                                    var res = new { Success = "False" };
                                    return(Json(res, JsonRequestBehavior.AllowGet));
                                }
                            }
                            else
                            {
                                if (tipoUsuario2 != null)
                                {
                                    Session["IdProfesor"]  = tipoUsuario2.IdProfesor;
                                    Session["TipoUsuario"] = 2;
                                    Session["Permisos"]    = 1;
                                    var res = new { Success = "True" };
                                    return(Json(res, JsonRequestBehavior.AllowGet));
                                }
                                else
                                {
                                    Session["TipoUsuario"] = 2;
                                    Session["Permisos"]    = 1;
                                    var res = new { Success = "True" };
                                    return(Json(res, JsonRequestBehavior.AllowGet));
                                }
                            }
                        }

                        else
                        {
                            var res = new { Success = "False" };
                            return(Json(res, JsonRequestBehavior.AllowGet));
                        }
                    }

                    case 2:
                    {
                        //Valida que el estudiante exista
                        if (!wsseg.ValidarEstudianteBit(_Usuario, _Contraseña, MvcApplication.CodAplicación, Session["COD_SEDE"].ToString()))
                        {
                            //throw new ITCRException("El Pin es incorrecto.");
                            var res = new { Success = "False" };
                            return(Json(res, JsonRequestBehavior.AllowGet));
                        }
                        //validar que sea estudiante activo
                        if (!EsEstudianteActivo(_Usuario))
                        {
                            var res = new { Success = "False" };
                            return(Json(res, JsonRequestBehavior.AllowGet));
                        }
                        int idEstudiante;
                        if (int.TryParse(_Usuario, out idEstudiante))
                        {
                            //var obtieneFoto = Foto.CargarFoto(_Usuario);
                            if (Foto.CargarFoto(_Usuario) != null)
                            {
                                var foto = Convert.ToBase64String(Foto.CargarFoto(_Usuario));
                                Session["FOTO"] = foto;
                            }
                            else
                            {
                                Session["Foto"] = null;
                            }
                        }
                        else
                        {
                            Session["FOTO"] = null;
                        }

                        Session["Tipo_Usuario"] = 2;

                        if (true)
                        {
                            Session.Add("ID_USUARIO", "USR_Timpresion");
                            Session.Add("CARNE", _Usuario);
                            Session.Add("COD_USUARIO", "ESTUDIANTE");
                            Session.Add("NUM_CEDULA", wsseg.ObtenerCedula(_Usuario));         //obtener número de cédula si tiene.
                            Session.Add("NOM_USUARIO", wsseg.ObtenerNombreUsuario(_Usuario)); //obtener nombre completo del usuario.


                            Session.Add("COD_SEDE", Session["COD_SEDE"].ToString());
                            Session["TipoUsuario"] = 3;
                            var res = new { Success = "True" };
                            return(Json(res, JsonRequestBehavior.AllowGet));
                        }
                    }
                    break;

                    case 3:

                        Session["Tipo_Usuario"] = 3;

                        if (true)
                        {
                            wsseg.ValidarUsuarioSistema(_Usuario, _Contraseña, MvcApplication.CodAplicación, Session["COD_SEDE"].ToString());
                            Session.Add("ID_USUARIO", _Usuario);

                            Session.Add("NUM_CEDULA", wsseg.ObtenerCedula(_Usuario));         //obtener número de cédula si tiene.
                            Session.Add("NOM_USUARIO", wsseg.ObtenerNombreUsuario(_Usuario)); //obtener nombre completo del usuario.
                            Session.Add("COD_SEDE", Session["COD_SEDE"].ToString());
                            Session["FOTO"] = null;
                            var res = new { Success = "True" };
                            return(Json(res, JsonRequestBehavior.AllowGet));
                        }
                        else
                        {
                            var res = new { Success = "False" };
                            return(Json(res, JsonRequestBehavior.AllowGet));
                        }
                    }
                }
            }
            catch (FaultException ex)
            {
                string error = ex.Message.ToString();
                Response.Write("<script>alert('" + error + "');</script>");
                return(View(""));
            }
            var result = new { Success = "False" };

            //return null;
            return(Content("Datos incorrectos"));
        }