Componentes de ASP.NET Leonardo Diez Dolinski Servicios Profesionales Danysoft
Orden del día Funcionamiento interno ConfiguraciónSeguridad Manejo de estado
Generación de una página.aspx Enviar Mi página
Generación de una página.aspx Mi página Objeto página Controls Mi página HtmlGeneric HtmlForm HtmlInput TextBox Button
Generación de una página.aspx Objeto página Controls HtmlGeneric HtmlForm HtmlInput TextBox Mi página Button
PostBack Objeto página Controls HtmlGeneric HtmlForm HtmlInput TextBox Button POST WebForm1.aspx nombre=Leonardo apellidos=Diez... nombre.Text = "Leonardo"apellidos.Text = "Diez" e Leonardo Diez enviar
ViewState... apellidos.BackColor = Color.Blue... Objeto página Controls HtmlGeneric HtmlForm HtmlInput TextBox... ENCODE Button
ViewState POST WebForm1.aspx... __ViewState=4fwe Objeto página Controls HtmlGeneric HtmlForm HtmlInput TextBox apellidos.BackColor = Color.Blue DECODE e Leonardo Diez enviar
Eventos Objeto página Controls HtmlGeneric HtmlForm HtmlInput TextBox Button e Leonardo Diez enviar POST WebForm1.aspx... enviar=enviar enviar.click
Orden del día Funcionamiento interno ConfiguraciónSeguridad Manejo de estado
Configuración A través de ficheros de configuración Formato XML y extensión.config Fácil mantenimiento y despliegue Diferentes alcances Toda la máquina (Directorio [windows]\Microsoft.NET) Aplicación de escritorio Aplicación y directorios web Organización jerárquica Alcance inferior sobrescribe alcance superior Alcance superior puede fijar valores
Configuración de máquina Fichero machine.config Dentro del directorio de Windows Establece los valores predeterminados para todas las aplicaciones web Seguimiento: Deshabilitado Máx. tiempo de ejecución: 90 segundos Manejo de sesiones: Activo, en proceso Autenticación: Permitir usuarios anónimos Soporte multi-CPU: Deshabilitado
Configuración de aplicaciones web Fichero web.config Almacena la mayoría de las opciones de configuración Sobrescribe algunos valores de machine.config Añade nuevas configuraciones Los cambios toman efecto inmediatamente Reinicia la aplicación Fácil despliegue Se distribuye con el sitio Casi no es necesaria la base de datos de IIS
Páginas de errores Permite redirigir la ejecución a otra página, según el error ocurrido
Configuración personalizada Es posible añadir valores de configuración específicos de la aplicación al fichero de configuración Acceso desde el código cn = ConfigurationSettings.AppSettings("Conexion")
Configuración especial Es posible añadir configuración específica para determinados ficheros o directorios mediante el uso del tag Es posible añadir configuración específica para determinados ficheros o directorios mediante el uso del tag......
Orden del día Funcionamiento interno ConfiguraciónSeguridad Manejo de estado
Elementos de seguridad AutenticaciónAutorizaciónImpersonación
Autenticación Identificación de la persona (o sistema) que desea acceder a un sistema Tipos de autenticación dadas por ASP.NET WindowsFormulariosPassport
Autenticación de Windows Se habilita para ASP.NET a través del fichero de configuración
Autenticación de Windows Se configura a través de la consola de administración de Servicios de Internet Information Server
Autenticación de Windows Es posible acceder al nombre del usuario autenticado string usuario = User.Identity.Name; Los grupos de Windows son automáticamente vinculados a Roles ASP.NET if (User.IsInRole(Administrators))...
Autenticación de formularios El sitio web es el responsable de la seguridad, no IIS Configurar IIS para permitir acceso anónimo Fuerza a los usuarios a autenticarse a través de un formulario Cualquier usuario anónimo que intente acceder a un recurso protegido será enviado a Login.aspx
Autenticación de formularios Crear un formulario de ingreso Obtener nombre de usuario y contraseña Validar datos enviados Método FormAuthentication.RedirectFromLoginPage Marca al usuario como autenticado Lleva al usuario a la página que ha pedido originalmente Si el usuario ha pedido la página de ingreso, lo redirige a la página de inicio de la aplicación web La cookie de autenticación puede ser persistente Existe la posibilidad de realizar cada paso por separado
Autenticación de formularios Para sitios simples, se puede almacenar los nombres de usuarios y contraseñas en el fichero de configuración Método FormAuthentication.Authenticate Método FormAuthentication.HashPasswordForStoringInConfigFile
Autorización Determina si el usuario autenticado tiene permisos para acceder a un recurso Se especifica en el fichero de configuración Existen símbolos especiales * para representar a todos los usuarios ? para representar usuarios anónimos
Impersonación Permite representar al usuario de la aplicación con un usuario de Windows Autenticación de Windows Independiente del modo de autenticación
Demo Implementación de la seguridad
Orden del día Funcionamiento interno ConfiguraciónSeguridad Manejo de estado
Una aplicación web se ejecuta en un medio sin estado Necesidad de tener una forma de recordar datos = mantener estado
Estado de aplicación Colecciones de valores accesibles desde cualquier página y sesión Objeto Application Application["NombreEmpresa"] Se pueden bloquear o desbloquear el acceso Métodos Lock y Unlock Objeto Cache Permite que los datos expiren
Estado de sesión Colección de valores accesibles desde cualquier página Objeto Session Una colección por usuario Session["UserId"]
Sesiones de ASP.NET Posibilidad de no usar cookies Diferentes modos InProc Similar a ASP Almacena las sesiones en la memoria del servidor web StateServer Las sesiones son almacenadas en memoria en un servicio separado El servicio puede estar en un servidor remoto SQLServer Las sesiones son almacenadas en una base de datos de SQL Server
Sesiones de ASP.NET Configuración en web.config
Sesiones de ASP.NET Para configurar SQL Server para almacenar información de estados se debe ejecutar un pequeño script en el servidor InstallSQLState.sql puede ser encontrado en [sysdrive]\winnt\Microsoft.NET\Framework\[version] Crea lo siguiente en el servidor Una base de datos llamada ASPState Procedimientos almacenados Tablas en TempDB para almacenar los datos de los estados. Para desinstalar ejecutar el script UninstallSQLState.sql
Preguntas y respuestas
Para obtener más información eRevista Danysoft Webs Danysoft Area Formación y S.Profesionales DVD Danysoft Libros Danypress
Gracias por su asistencia