예제 #1
0
파일: Site.Master.cs 프로젝트: cosejo/SGAG
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                lblTitulo.Text = Global.gTituloPagina;
                lblTitulo.Text = Global.gSubTituloPagina;
                Page.Title = "TEC - " + Global.gSubTituloPagina;

                //TODO: esto es temporal, en etapa de desarrollo
                wsSeguridad.SeguridadSoapClient wsseg = new wsSeguridad.SeguridadSoapClient();
                Session.Add("NUM_CEDULA", wsseg.ObtenerCedula(Session["ID_USUARIO"].ToString())); //obtener número de cédula si tiene.
                Session.Add("NOM_USUARIO", wsseg.ObtenerNombreUsuario(Session["ID_USUARIO"].ToString())); //obtener nombre completo del usuario.*/
                Session.Add("COD_SEDE", "CA");
                //hasta aqui...

                if (Session == null)
                {
                    Response.Redirect("frmAutenticacion.aspx", true);
                }

                //si la sesión es válida crea el menu
                if (Session["ID_USUARIO"] != null)
                {
                    CrearMenu(Session["COD_SEDE"].ToString(), Global.gCOD_APLICACION, Session["ID_USUARIO"].ToString());
                    lblCuentaUsuario.Text = Session["ID_USUARIO"].ToString();
                    //CrearMenu("CA", 28, "csanabria");
                }
                else
                {
                    Response.Redirect("frmAutenticacion.aspx");
                }
            }
            else{
                CrearMenu(Session["COD_SEDE"].ToString(), Global.gCOD_APLICACION, Session["ID_USUARIO"].ToString());
            }
        }
예제 #2
0
        protected void btnEntrar_Click(object sender, ImageClickEventArgs e)
        {
            lblMensajeError.Text = "";
            if (txtUsuario.Text == "")
            {
                lblMensajeError.Text = "El nombre de usuario no puede ser vacío";
            }
            else
            {
                if (txtPassword.Text == "")
                {
                    lblMensajeError.Text = "La clave de acceso no puede ser vacía";
                }
                else
                {
                    try
                    {
                        string IdUsuario = txtUsuario.Text;
                        string Password = txtPassword.Text;
                        Session["COD_SEDE"] = "CA"; // DropSede.SelectedItem.Value;      //modificado a solicitud de Kattia 22/3/2012
                        int CodAplicacion = Global.gCOD_APLICACION;

                        wsSeguridad.SeguridadSoapClient wsseg = new wsSeguridad.SeguridadSoapClient();

                        if (wsseg.TieneAccesoAplicacion(CodAplicacion, IdUsuario, Session["COD_SEDE"].ToString()))
                        {
                            switch (System.Int32.Parse(ddlTipoUsuario.SelectedItem.Value))
                            {
                                case 1://Funcionario
                                    wsseg.ValidarFuncionarioBit(IdUsuario, Password, Global.gCOD_APLICACION, Session["COD_SEDE"].ToString());
                                    break;
                                case 2://Estudiante
                                    if (!wsseg.ValidarEstudianteBit(IdUsuario, Password, Global.gCOD_APLICACION, Session["COD_SEDE"].ToString()))
                                    {
                                        throw new Exception("El Pin es incorrecto.");
                                    }
                                    break;
                                case 3://Usuario Sistema
                                    wsseg.ValidarUsuarioSistema(IdUsuario, Password, CodAplicacion, Session["COD_SEDE"].ToString());
                                    break;
                            }
                            Session.Add("ID_USUARIO", IdUsuario);
                            Session.Add("NUM_CEDULA", wsseg.ObtenerCedula(IdUsuario)); //obtener número de cédula si tiene.
                            Session.Add("NOM_USUARIO", wsseg.ObtenerNombreUsuario(IdUsuario)); //obtener nombre completo del usuario.
                            Session.Add("COD_SEDE", Session["COD_SEDE"].ToString());
                            if (FormsAuthentication.GetRedirectUrl(IdUsuario, false) == "")
                            {
                                FormsAuthentication.SetAuthCookie(IdUsuario, false);
                                Response.Redirect(this.PaginaRedireccionar);
                            }
                            else
                            {
                                FormsAuthentication.RedirectFromLoginPage(IdUsuario, false);
                            }
                        }
                        else
                        {
                            txtUsuario.Text = "";
                            txtPassword.Text = "";
                        }
                    }
                    catch (COMException ex)// captura y manejo de errores
                    {
                        if (ex.ErrorCode == -2147024810)
                        {
                            lblMensajeError.ForeColor = Color.Red;
                            lblMensajeError.Font.Bold = true;
                            lblMensajeError.Text = "La contraseña de red especificada no es válida";
                            txtPassword.Text = "";
                        }
                        else if (ex.ErrorCode == -2147023570)
                        {
                            lblMensajeError.ForeColor = Color.Red;
                            lblMensajeError.Font.Bold = true;
                            lblMensajeError.Text = "Error de inicio de sesión: nombre de usuario desconocido o contraseña incorrecta";
                            txtPassword.Text = "";
                        }
                        else
                        {
                            lblMensajeError.Text = ex.Message;
                            txtPassword.Text = "";
                        }
                    }
                    catch (Exception ex) // captura y manejo de errores
                    {
                        lblMensajeError.ForeColor = Color.Red;
                        lblMensajeError.Font.Bold = true;
                        lblMensajeError.Text = ex.Message;
                        txtPassword.Text = "";
                    }
                }
            }
        }