jueves, 31 de marzo de 2011

Ejercicio. Habilitar acceso por login.


A la aplicación web del último ejemplo posteado ("Consulta de notas de un alumno") vamos a incluirle un control de acceso de manera que sólo el usuario que nosotros registremos pueda utilizarla. Sigue los pasos:

Primero vamos a crear el formulario para loguearnos:
  1. Abre la solución de consulta de notas de un alumno.
  2. En el explorador de soluciones haz clic con el botón derecho del ratón sobre la raíz del árbol de exploración que representa el proyecto y selecciona la opción "Agregar nuevo elemento"
  3. En el cuadro de diálogo selecciona "Web Forms" y ponle como nombre "Login.aspx". Recuerda marcar C# como lenguaje de nuestro nuevo Web Form.
  4. Accede a la vista diseño de Login.aspx e inserta un objeto "Login". Lo encontrarás en el cuadro de herramientas, en el subgrupo "Inicio de sesión"
Ahora, para proteger el conjunto de nuestra aplicación la meteremos en una subcarpeta dentro del sitio:
  1. En el explorador de soluciones haz clic con el botón derecho del ratón sobre la raíz del árbol de exploración que representa el proyecto y selecciona la opción "Nueva carpeta". Ponle de nombre "Aplicacion".
  2. Arrastra los archivos que forman parte de la aplicación a la nueva subcarpeta, esto es, "ConsultarNotas.aspx" y "ResultadoForm.aspx". No obstante, no arrastres el archivo "web.config"
Nos queda crear un usuario y darle los permisos apropiados:

  1. Vuelve a la vista diseño de Login.aspx, selecciona el control Login y haz clic en la fecha de la parte superior derecha para abrir sus opciones. Selecciona "Administrar sitio web"
  2. Se abrirá una ventana de configuración en el navegador.
  3. En la pestaña "Página principal" haz clic en "Seguridad".
  4. Ahora, haz clic en "Utilice el Asistente para la configuración de seguridad para configurar la seguridad paso a paso" y se iniciará un asistente de configuración.
  5. El paso 1 es la bienvenida. Simplemente haz clic en "Siguiente"
  6. En el paso 2, "Seleccionar método de acceso", marca la opción "Desde Internet". Haz clic en "Siguiente"
  7. Ignora los pasos 3 y 4 pulsando en "Siguiente"
  8. En el paso 5, "Agregar nuevos usuarios", te aparecerá un formulario para crear un nuevo usuario. Rellena todos los campos y haz clic en "Siguiente"
  9. El paso 6 te permite añadir reglas de acceso. Tenemos que centrarnos en la subcarpeta que queremos proteger, esto es, la subcarpeta "Aplicacion". Así que selecciónala en el árbol de la izquierda expandiendo primero el nodo principal (clic en el símbolo [+]).
  10. Debes añadir dos reglas: la primera que deniegue el permiso a los usuarios anónimos y la segunda que permita el acceso al usuario que creaste en el paso 5. No olvides pulsar el botón "Agregar esta regla" una vez configuradas las opciones para que quede guardada.
  11. Al hacer clic en "Siguiente" habrás terminado la configuración.
Finalmente, añadimos unos pequeños ajustes al archivo "web.config". En realidad, ahora tendrás dos "web.config". Si haces clic con el botón derecho en la carpeta "Aplicación" en el explorador de soluciones y seleccionas la opción "Actualizar carpeta" verás que el asistente te ha añadido un archivo "web.config" en la subcarpeta. Si lo abres verás las reglas de acceso definidas:

Aclarado esto, vamos a abrir el otro "web.config", el que está en la raíz del sitio web y busca la etiqueta . Como puedes observar, está cerrada, no se ha incluido nada en ella. Simplemente ábrela y añade las siguientes etiquetas para indicar la página de login a la que debe redirigirnos la aplicación en caso de que intentemos acceder a un recurso protegido sin habernos logueado así como la página por defecto a la que se redirigirá el flujo una vez que el login ha tenido éxito.



Ya puedes ejecutar la aplicación y comprobar que funciona. Es importante que limpies las cookies del navegador entre prueba y prueba porque puede suceder que pienses que la aplicación te está dejando acceder directamente a la página protegida sin haber hecho login cuando quizás no haya expirado el tiempo máximo de login de un acceso correcto anterior.

Debes verificar que:

  1. Si escribes la URL de la página "ConsultarNotas.aspx" en el navegador, te redirige a la página de login.
  2. Si ingresas correctamente el usuario y la contraseña te redirige a la aplicación para consultar las notas.
  3. Puedes seguir accediendo a "ConsultarNotas.aspx" aunque cierres la pestaña del navegador y vuelvas a entrar, pero siempre dentro del límite de tiempo establecido en el archivo de configuración.


No hay comentarios:

Publicar un comentario