Вы находитесь на странице: 1из 13

Universidad Catlica de Honduras Nuestra Seora Reina de la Paz Campus Santiago Apstol

Creacion de Login y Logout


Alumno:

Fabricio Alonso Talavera Valladares


Catedrtica:

Ing. Manuel Turcios


Asignatura:

Portales Web
Lugar y Fecha:

Danl, El Paraso 25 de Mayo del 2014

Crear un Sistema de Login


Ahora que tenemos un sistema para registrar a los usuarios, vamos con la creacin de un sistema de Login para las reas restringidas de nuestro sitio.

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

Y, en el inspector de propiedades, en Nombre del botn ponemos hacerLogin

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.

Pasamos a vista cdigo para hacer una ajuste menor:

Abrimos un espacio despus de la lnea 2 y aadimos la siguiente lnea de cdigo:

Guardamos login.php Probamos en el navegador, introduciendo un nombre de usuario y contrasea correcto y otro incorrecto.

Control de acceso a determinadas pginas


Ahora que ya tenemos este medio para que, los usuarios registrados hagan Login (se identifiquen), podemos proteger pginas sensitivas de nuestro sitio para que solo puedan acceder determinados usuarios. Cuando trabajamos con sesiones php no hay modo de proteger un directorio completo. Las sesiones trabajan pgina a pgina, as que tenemos que proteger cada una de las pginas individualmente. Existen extensiones para DW, Developer Toolbox, que permiten proteger directorios completos. Tendremos que aplicar el mismo cdigo en las pginas que esten en el mismo directorio, que no tienen porque ser todas.

Aplicamos el comportamiento de servidor restringir pginas


Vamos a la pgina correcto.php

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.

En nuestro ejemplo estamos usando la columna admin_priv.

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.

Es lo que vamos a hacer nosotros, por eso ponemos tanto s como n.

Seleccionamos s y n, con la tecla MAY y en Si se deniega el acceso, ir a: enlazamos a la pgina login.php

Si probamos esta pgina en el navegador, dado que tiene el acceso restringido se nos debe abrir la pgina login.php

Como podemos hacer log out:


Nos situamos en la pgina correcto.php > panel Comportamientos del servidor > Autenticacin de usuarios > Desconectar usuario > rellenamos la caja de dilogo como sigue:

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 verlas en la pgina de correcto.php

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)

Incluimos el siguiente cdigo condicional:

Guardamos y lo probamos en el navegador.

A partir de aqu se inicia una sesin distinta para cada uno de ellos.

Veamos ahora como saludar a cada usuario por su nombre:


Como sabemos el nombre de usuario lo tenemos almacenado en la variable de sesin $_SESSION[MM_Username]. Lo mejor, sin embargo, es saludar usando su nombre real. Para ello, creamos un juego de registros (que es el modo en que DW almacena los resultados de una consulta a la base de datos) dentro de la pgina correcto.php

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.

Guardamos y lo probamos en el navegador.

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:

Vamos a correcto.php, vista 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.

Otra opcin (en una nica variable de sesin):

(obtenerNombre es el nombre de nuestro Juego de Registros.)

Вам также может понравиться