예제 #1
0
    protected void btnIngresar_Click(object sender, EventArgs e)
    {
        try
        {
            String login = this.txtUsuario.Text;
            String clave = this.txtClave.Text;

            String pwcrypt = FormsAuthentication.HashPasswordForStoringInConfigFile(clave, "sha1");

            if (GeneralController.fnValidarIntegridad())
            {
                UsuarioBean bean = new UsuarioBean();
                try
                {
                    bean = UsuarioController.validarUsuario(login, pwcrypt, "F");
                }
                catch (Exception ex)
                {
                    this.txtmsg.Value = ex.Message;
                }

                // ConfigBean  config = GeneralController.getConfig();
                if (!bean.Codigo.Equals(""))
                {
                    //Session["lgn_id"] = bean.IdUsuario;
                    //Session["lgn_codigo"] = bean.Codigo;
                    //Session["lgn_login"] = bean.LoginUsuario;
                    //Session["lgn_nombre"] = bean.Nombres;
                    //Session["lgn_perfil"] = bean.IdPerfil;
                    //Session["lgn_Nomperfil"] = bean.NombrePerfil;
                    //Session["lgn_perfilmenu"] = bean.hashRol;
                    //Session["Config"] = "" ;
                    //Response.Redirect("Main.aspx");

                    //<add key="URL_WS_ACTIVE_DIRECTORY" value="http://190.216.186.94:8080/ISORest/service/user/AuthByUserPrincipalName?user=@USER&password=@PASSWORD"/>
                    if (bean.FlgActiveDirectory.Equals("T"))
                    {
                        String url = System.Configuration.ConfigurationManager.AppSettings["URL_WS_ACTIVE_DIRECTORY"].ToString() + "user=@USUARIO&password=@PASSWORD";

                        if (login.Contains("@"))
                        {
                            url = url.Replace("@USUARIO", login);
                        }
                        else
                        {
                            url = url.Replace("@USUARIO", bean.Email);
                        }


                        url = url.Replace("@PASSWORD", clave);

                        HttpWebRequest       requestNIA     = WebRequest.Create(url) as HttpWebRequest;
                        JavaScriptSerializer jsonSerializer = new JavaScriptSerializer();
                        StreamReader         reader;
                        String Respuesta = string.Empty;
                        //Boolean Respuesta = false;

                        // Get response

                        try
                        {
                            using (HttpWebResponse response = requestNIA.GetResponse() as HttpWebResponse)
                            {
                                reader    = new StreamReader(response.GetResponseStream());
                                Respuesta = reader.ReadToEnd();
                            }


                            if (Respuesta.ToUpper().Equals("TRUE"))
                            {
                                Session["lgn_id"]         = bean.IdUsuario;
                                Session["lgn_codigo"]     = bean.Codigo;
                                Session["lgn_login"]      = bean.LoginUsuario;
                                Session["lgn_nombre"]     = bean.Nombres;
                                Session["lgn_perfil"]     = bean.IdPerfil;
                                Session["lgn_perfilmenu"] = bean.hashRol;
                                Session["lgn_email"]      = bean.Email;
                                Session["lgn_idcanal"]    = bean.IdCanal;
                                Response.Redirect("Main.aspx");
                            }

                            else
                            {
                                txtmsg.Value = "Usuario o contraseña incorrecta";
                                //Exception ex=  new Exception("Usuario o contraseña incorrecto");
                                //HttpContext.Current.Response.Write(ExceptionUtils.getHtmlErrorPage(ex));
                                // HttpContext.Current.Response.End();
                            }
                        }
                        catch (Exception ex)
                        {
                            txtmsg.Value = "El Servicio Web de Active Directory no está disponible";
                        }
                    }
                    else
                    {
                        //bean = UsuarioController.validarUsuario(login, pwcrypt, "T");
                        try
                        {
                            bean = new UsuarioBean();
                            bean = UsuarioController.validarUsuario(login, pwcrypt, "T");
                            if (!bean.Codigo.Equals("0"))
                            {
                                Session["lgn_id"]         = bean.IdUsuario;
                                Session["lgn_codigo"]     = bean.Codigo;
                                Session["lgn_login"]      = bean.LoginUsuario;
                                Session["lgn_nombre"]     = bean.Nombres;
                                Session["lgn_perfil"]     = bean.IdPerfil;
                                Session["lgn_perfilmenu"] = bean.hashRol;
                                Session["lgn_email"]      = bean.Email;
                                Session["lgn_idcanal"]    = bean.IdCanal;
                                Response.Redirect("Main.aspx");
                                //GeneralController.subInicializarConfiguracion();
                                //subInicializarMenu();
                            }
                            else
                            {
                                txtmsg.Value = "Usuario o contraseña incorrecta";
                            }
                        }
                        catch (Exception ex)
                        {
                            this.txtmsg.Value = ex.Message;
                        }
                    }
                }
                else
                {
                    //this.txtmsg.Text = "<script>window.onload = function() {addnotify(\"alert\", \"Usuario o contraseña incorrecta\", \"usernregister\");};</script>";
                }
            }
            else
            {
                //this.txtmsg.Text = "<script>window.onload = function() {addnotify(\"alert\", \"Error de integridad en las tablas de permisos. Por favor contacte a un consultor de " + IdiomaCultura.getMensajeEncodeHTML(IdiomaCultura.WEB_OPERADOR + Controller.GeneralController.obtenerTemaActual(true)) +".\", \"usernregister\");};</script>";
            }
        }
        catch (Exception ex)
        {
            this.txtmsg.Value = "Ocurrió un error: " + ex.Message;
            //HttpContext.Current.Response.Write(ExceptionUtils.getHtmlErrorPage(ex));
            //HttpContext.Current.Response.End();
        }
    }