Foro

Problema Autentificar Usuario y Redireccionamiento

0
Necesito ayuda con Autentificacion y redireccionar a distintas paginas segun usuario (usando php). Trabajando con HTML y PHP bajo Apache no tengo incovenientes, la autenticacion y el redirecionamiento funciona perfectamente. Actualmente estoy desarrollando una aplicacion que corre bajo Tomcat (uso Geoserver y Geoext). El cual esta conectado al Apache para poder acceder a mi base de datos PostgreSQl mediante PHP. Soy nuevo con Ext js y estuve viendo algunos ejemplos de Login, pero no logro realizar el redireccionamiento. Cual es la logica de las propiedades success: y failure:??. Cuando trabajaba sin Ext, el redireccionamiento lo hacia en php, si el usuario o la contraseña eran incorrectas volvia a la pagina de origen. En caso contrario se redirigia a la pagina especificada en una tabla de la bd.
$_SESSION["autenticado"]="SI";    
    header ("Location: $homepage");
Desde ya muchas gracias por su colaboracion. Si no fui claro, acepto preguntas. Gracias
0
Gracias stock. Estudio lo que me comentas. Y cuando lo resuelva les cuento.
0
Ok.... creo que tu problema es conceptual, te recomiendo leer algo acerca de Ajax <!-- s;) --><!-- s;) --> esa variable deberías tenerla en la respeusta ajax que has ejecutado, algo así:
success : function(response,options){
      var url = response.responseText;
}
"response.responseText" es lo que el servidor te ha regresado, ahi debería ir la URL que necesitas o cualquier otra cosa, puedes usar JSON o XML para el intercambio de información. Saludos
0
El componente Ext.Ajax es el responsable de realizar las peticiones ajax usando el método "request", ese método recibe un objeto de configuración donde se definen los callbacks para cuando se realizó correctamente la petición y también si se ocacionó algún error, por ejemplo:
Ext.Ajax.request({
     url         : "servidor.php",
     success  : function(){},
     failure    : function(){}
});
La función "success" se ejecutará si el servidor ha regresado un estado [b]200[/b], y la función "failure" se ejecutará si el servidor regresa algún error, por ejemplo 404, 500, etc. En otras palabras "failure" se ejecuta cuando el servidor no regresa un estado 200. Saludos
0
Gracias por responder.
autenticar: function () {
            var login = new Ext.FormPanel({
            labelWidth: 80,
            url: "http://192.168.34.120/mapserv-demo/autenticacion4.php",
            frame: true,
            title: 'Iniciar sesión',
            width: 230,
            padding: 10,
            defaultType: 'textfield',
            monitorValid: true,
            items: [{
                fieldLabel: 'Usuario',
                name: 'usuario',
                allowBlank: false
            },
            {
                fieldLabel: 'Contraseña',
                name: 'contrasena',
                inputType: 'password',
                allowBlank: false
            }],
            buttons: [{
                text: 'Inicio',
                formBind: true,
                handler: function()
                {
                    login.getForm().submit({
                        method: 'POST',
                        waitTitle: 'Authenticando..',
                        waitMsg: 'Enviando datos...',
                        success:function(){ 
                            Ext.Msg.alert('Good', 'Logged', function(btn, text){
                                if (btn == 'ok'){
                                    var redirect = '<?php echo $homepage;?>';// ACA ESTA MI PROBLEMA. COMO LE ASIGNO A LA VARIABLE redirect EL VALOR DE LA VARIBLE $homepage???.
                                    window.location = redirect;
                                    }
                            });
                        },
                        failure: function() {
                            Ext.Msg.alert('Warning', 'Could not log');
                        }
                    });
                }
            }]
        });
        // Usamos un Window para mostrar el Login en una ventanita
        var win = new Ext.Window(
            {
                layout: 'fit',
                width: 300,
                height: 150,
                closable: true,
                modal: true,
                resizable: false,
                plain: true,
                items: [login] // y acá cargamos el panel con el login
            }
        );
        win.show();
    }
La variable homepage la obtengo en el servidor mediante PHP. Es posible pasarle su valor a la variable var redirect ????. Gracias

¿Conoces a alguien que pueda responder esta pregunta? Comparte el link en Twitter o Facebook

Es necesario registrarse para poder participar en el foro! Si ya tienes una cuenta puedes entrar y comentar en este foro.