jueves, 31 de marzo de 2011

Ejercicio. Servicio web que calcula la letra del DNI


Crea un servicio web y una interfaz que lo use en la que, introduciendo el DNI de una persona, obtenemos su letra correspondiente.

NOTA: Puedes consultar el algoritmo necesario y servirte del código de este link

Ejercicio. Consultar información de códigos IANA


Utiliza el siguiente servicio web, http://xmethods.com/ve2/ViewListing.po;jsessionid=eNKpjiPDB3WDG5g4ePRdh4uL?key=467143, para crear una interfaz web en la que dado el dominio primario de internet de un país (código IANA) nos muestre su nombre, latitud y longitud.

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.


miércoles, 30 de marzo de 2011

Ejemplo. Consulta de notas de un alumno




En esta aplicación de ejemplo, veremos cómo incorporar accesos a bases de datos desde formularios web usando los controles de Visual Web Developer. Además revisaremos otros aspectos como las cookies y la interacción entre varios formularios web. Consiste en una página de consulta donde un alumno introduciendo su clave o número de control podrá consultar las notas de las distintas materias en las que está matriculado.

Trata de realizar algo similar con esta base de datos de Libros. Simplemente utiliza la tabla BOOKS para realizar consultas por género (campo DETCAT).

martes, 29 de marzo de 2011

Ejemplo de control de usuario personalizado

Examina este ejemplo de control de usuario personalizado. En él se implementa un cuadro de texto que nos avisa de que el dato introducido debe ser numérico en caso de que hayamos introducido caracteres no numéricos.

Puedes seguir el ejemplo paso a paso en este tutorial. La única diferencia es que en él en vez de colocar en el cuadro de texto un aviso simplemente se vacía.

Ejercicio. Conversor de moneda

Crea un sencillo conversor de moneda que sea capaz de pasar valores a Euros, Dólares americanos y Rublos sabiendo que a día de hoy 1 € = 1.4083 USD y 1€= 39.9563 RUB. No obstante, y para poder modificar dichos valores en un futuro, inclúyelos como parámetros en web.config.

Asimismo, utilizando cookies o sesiones, haz que en la etiqueta del resultado siempre se muestre la última conversión aunque se cierre la ventana del navegador y se vuelva a entrar, siempre que no expire el tiempo de la sesión.

Por otra parte, convierte el campo de texto donde se introduce la cantidad en un campo obligatorio utilizando un objeto de validación.

Haz clic aquí para descargar una posible solución

Ejemplo del uso de sesiones en ASP.NET


En este ejemplo se emplea una variable de sesión BackgroundColor para mantener el color de fondo elegido por el usuario en el primer acceso al servidor en solicitudes posteriores, no pudiéndose variar mientras no expire el tiempo máximo de la sesion.