예제 #1
0
        public ActionResult Index(LogOnModel usuarios)
        {
            if (ModelState.IsValid)
            {
                lstpersona = personaquery.getCodigoPersona(usuarios.UserName.ToString().ToLower());

                if (lstpersona.Count > 0)
                {
                    Session[usr_cmb_web]  = usuarios.UserName;
                    Session[host_cmb_web] = Request.UserHostAddress;
                    var  appSettings = ConfigurationManager.AppSettings;
                    bool Isval       = System.Convert.ToBoolean(appSettings["Autent"]);
                    //// Se debe descomentar la linea en caso de que se tenga metodo interno de autentificacion con active directory
                    //// if (MembershipService.ValidateUser(usuarios.UserName, usuarios.Password))
                    if (Autentificacion.IsPassUsr(lstpersona.First().Id.ToString(), usuarios.UserName, usuarios.Password, Isval))
                    {
                        if (Autentificacion.IsAutentifica(lstpersona.First().Id.ToString(), usuarios.UserName))
                        {
                            Session[nombreDoc] = lstpersona.First().NombreCompleto.ToString();
                            Session[CodPrs]    = lstpersona.First().Id;
                            //Creacion de menus
                            MenuPrincipal menu = PedirMenu(Autentificacion.RolPersona(System.Convert.ToInt32(Session[CodPrs])));
                            Session[Smenu] = menu;

                            if (Autentificacion.RolPersona(System.Convert.ToInt32(Session[CodPrs])) == 2)
                            {
                                Session[StipoUsuario] = 2;
                                ViewBag.tipoUsuario   = "Docente";

                                return(RedirectToAction("Index", "Docente"));
                            }
                            if (Autentificacion.RolPersona(System.Convert.ToInt32(Session[CodPrs])) == 1)
                            {
                                Session[StipoUsuario] = 1;
                                ViewBag.tipoUsuario   = "Coordinador";
                                return(RedirectToAction("Index", "Coordinador"));
                            }

                            ViewBag.errorMsg = "No existe el rol asignado a la persona";
                        }
                        else
                        {
                            ViewBag.errorMsg = "No tiene permiso en el sitema";
                        }
                    }
                    else
                    {
                        ViewBag.errorMsg = "Contraseña incorrecta";
                    }
                }
                else
                {
                    ViewBag.errorMsg = "No existe el usuario en el sistema";
                }
            }
            Session.Clear();
            return(View());
        }