martes, 10 de abril de 2012

Tutorial: Crear un sitio seguro en ASP.Net Web Forms. (Parte III)

Seguimos, luego de estas "cortitas vacaciones" con la configuración de seguridad del sitio.
¿Recuerdan que en la clase vimos un sitio web que nos servía para Configurar la seguridad? Podemos acceder a ese sitio de configuración desde la barra de herramientas del explorador de soluciones, así:

Hacemos click en ese botón y nos aparece el famoso sitio de configuración:
Vamos a hacer click en la pestaña de seguridad, para acceder a las opciones de configuración de seguridad.
Como nuestra aplicación no tiene seteada ninguna configuración de seguridad, nos da un mensaje que dice que la configuración de autenticación de nuestra aplicación es la de Windows (es la configuración por default, como vimos, la aplicación le cede al Internet Information Server la administración de permisos):

 Si hacemos click en "seleccionar tipo de autenticación (o directamente en la pestaña "Proveedor" en el menú superior, vamos a acceder a la pantalla para seleccionar el tipo de proveedor:

En esta pantalla tenemos que seleccionar la opción "desde internet", porque la idea es que tengamos acceso a formularios web que nos permitan pasar nuestras credenciales de autenticación. Seleccionamos esa opción, presionamos el botón "Listo" y ya casi estamos.
Volvamos a la pantalla de seguridad: vamos a hacer click en la sección "Funciones", donde dice "Habilitar Roles" (no se pusieron de acuerdo con el nombre).

una vez que están habilitadas, queda así
Hacemos click, en "Crear o administrar funciones" y creamos un rol "administradores"
Vamos ahora a crear un nuevo usuario llamado "Administrador" con todas sus características, y tildamos en "funciones" la "función" "Administradores":
Hacemos click en "Crear Usuario" y volvemos a nuestro proyecto.
Veamos ahora qué pasó con nuestra aplicación con todas estas "modificaciones" que hicimos:
Hagamos click en el botón de "Ver todos los archivos" y luego en "Actualizar" (están arriba del explorador de soluciones)
Hagamos click derecho en la carpeta "App_Data" y luego click en la opción "Incluir en el proyecto". Luego, si hacemos doble click en el archivo "ASPNETDB.MDF", vamos a acceder al explorador de base de datos, y veremos el contenido de la base de datos. Hagamos Click derecho en la tabla "aspnet_Users" y veremos los datos (algunos encriptados) de nuestro usuario administrador recientemente creado:
Vamos por último al archivo web.config que está en la raíz de la aplicación:

¡Epa, epa, epa, ch'amigo, compadre! ¿Dónde está toda nuestra configuración de seguridad? Pasa que la aplicación toma la configuración de seguridad por defecto. Si la base de datos está dentro de App_data y se llama ASPNETDB.MDF, no hace falta definir una cadena de conexión. Pero además, el tag <authentication mode="forms"< está tomando todos los valores por defecto que tiene ese tag, que explícitamente serían:

<forms cookieless="UseDeviceProfile" defaulturl="default.aspx" domain="" enablecrossappredirects="false" loginurl="login.aspx" name=".ASPXAUTH" path="/" protection="All" requiressl="false" slidingexpiration="true" timeout="30">
   <credentials passwordformat="SHA1">
</credentials></forms>

En la próxima entrega vamos a desmenuzar un poquito estos valores, y a agregar todos los controles para agregar usuarios a nuestra aplicación.

1 comentario:

  1. HEYYYY TE Falto comentar sobre aspnet_regsql.exe pues si no haces esto primero o para el que esta empesando no hace eso tendra problemas como este:
    Could not establish a connection to the database.
    If you have not yet created the SQL Server database, exit the Web Site Administration tool, use the aspnet_regsql command-line utility to create and configure the database, and then return to this tool to set the provider.

    ResponderEliminar