Академический Документы
Профессиональный Документы
Культура Документы
Portales Web
Lugar y Fecha:
Creamos una pgina login.php Creamos un formulario muy sencillo (como el de la imagen abajo) con dos campos de texto y un botn para enviar.
En el inspector de propiedades en campo de texto (ID) ponemos ... Nombre Usuario Contrasea nombreusuario contrase
Tipo
contrasea
Vamos a aplicar un comportamiento del servidor al formulario, as que no son necesarios los atributos mtodo o action como hacamos en otros casos. El comportamiento de servidor que le vamos a aplicar espera que tengamos creadas dos pginas:
Una pgina a la que ir si la identificacin es correcta. Y otra a la que ir si no es correcta. Creamos dos pginas: correcto.php (con h1: Tu identificacin ha sido correcta) fallo.php Con h1: Fallo en la identificacin Con un enlace volver que nos lleve de vuelta a la pgina login.php Volvemos a la pgina login.php para aplicar el comportamiento de servidor Panel Comportamientos del servidor > signo (+) > Autenticacin de usuarios > Conectar usuario > se nos abre el cuadro de dilogo donde vamos a llevar a cabo la configuracin:
Un problema con este comportamiento de servidor es que no tiene opcin para manejar contraseas encriptadas.
Guardamos login.php Probamos en el navegador, introduciendo un nombre de usuario y contrasea correcto y otro incorrecto.
Exactamente lo mismo tendremos que hacer en todas las pginas que queremos restringir!
Panel Comportamientos del servidor > signo (+) > Autenticacin de usuarios > Restringir acceso a pgina > rellenamos caja de dialogo ...
Pulsamos en Definir
La caja de dilogo Definir niveles de acceso nos permite definir los valores aceptables.
Aqu no tenemos que indicar el nombre de columna. Sino los valores DW puede recuperar de esa columna.
Escribimos s > signo (+) > n > signo (+) > aceptar.
DW nos da la opcin de especificar diferentes niveles de acceso. Aqu podramos poner solo n o solo s. Pero el comportamiento de servidor de conectar usuario que vimos antes siempre nos enva a la misma pgina. Entonces, hay dos opciones:
Opcin 1: Crear una .pgina de Login distinta para cada uno de los distintos tipos de usuarios Una pgina de Login a la que ira el administrador, all se identifica y entonces en el comportamiento de servidor se indica que fuera a la pgina de administrador, si los datos eran correctos. Y una pgina de Login de usuario. Pero, si como en nuestra prctica, queremos que se utilice la misma pgina para que se identifiquen todos los usuarios tenemos que poner aqu tanto s como n, y posteriormente tendremos que utilizar la lgica condicional PHP para que dependiendo de si tiene en la columna priv_admin s o n, entonces lleve a pginas distintas.
Si probamos esta pgina en el navegador, dado que tiene el acceso restringido se nos debe abrir la pgina login.php
Lo probamos en el navegador.
Ahora que lo hemos hecho con una pgina, vamos a ver de que modo DW sigue la pista de los usuarios. Volvemos a las sesiones. Como ya hemos visto las sesiones PHP son la tecnologa sobre la que descansa los comportamientos de servidor de autentificacin de usuarios. El comportamiento de servidor conectar usuario crea estas dos variables de sesin, que sirven para controlar el acceso a pginas restringidas:
Podemos usar estas variables de muy distintos modos. Uno de ellos es para presentar diferentes contenidos en la primera pgina despus de hacer Login, que muestre un contenido distinto si el que se logea es un usuario o un administrador. Es lo que vamos a ver en la siguiente prctica. Para llevar a cabo esta prctica es necesario tener en la base de datos, al menos, un usuario (con n en admin_priv) y un administrador (con s)
Vamos a hacerlo en correcto.php, pero podramos hacerlo exactemene igual en cualquier pgina que comience con session_start( ); despus de que el usuario se haya logeado.
Vamos a correcto.php, vista diseo. Incluimos contenido y enlaces para administradores. Incluimos contenido y enlaces para usuarios.
Vamos a la vista cdigo e incluimos espacio despus del h1 (Tu identificacin ha sido correcta)
A partir de aqu se inicia una sesin distinta para cada uno de ellos.
Panel Comportamientos del servidor > signo (+) > Juego de registros > en la caja de dilogo:
Con esto DW genera un Juego de Registros o Consulta a la base de datos, recuperando de la tabla usuarios el nombre y apellidos que corresponden con el nombreusuario almacenado en la variable de sesin MM_Username.
Vamos a correcto.php y pasamos a vista diseo. Abrimos un espacio despus de la cabecera h1 y antes del primer condicional, porque queremos que esto se muestre para todos.
Terminamos viendo cmo crear nuestras propias variables de sesin con los detalles del usuario, de modo que no tenemos que crear un juego de registro en cada pgina que queremos usar estos datos (en el ejemplo, nombre y apellidos, pero podramos hacer con cualquiera de las columnas). El patrn que utiliza DW para los Juegos registros son como:
As que, para crear variables $_SESSION, tanto para el nombre como para los apellidos, vamos a aadir las siguiente lneas de cdigo:
Nos situamos justo antes de la etiqueta <!DOCTYPE ...> y antes del cierre de la etiqueta php.
Vamos a crear dos variables de sesin: una para nombre y otra para apellidos; y hacerlas igual al patrn que utiliza DW.