seguridad basica en asp.net variables de sesion y

Anuncio
SEGURIDAD BASICA EN ASP.NET
VARIABLES DE SESION Y APLICACIÓN
Las variables de sesión solo sirven para controlar datos dentro de la sesión y están activas
y disponibles solamente para dicha sesión, no hay necesidad de inicializarlas, para crear
una variable de nombre “Login” lo declaramos de la siguiente manera:
Session(“Login”) = “valor_a_asignar”
Esta variables estar viva solamente mientras dure la sesión.
Las variables de aplicación sirven para controlar datos dentro de la aplicación y estarán
activos y disponibles durante todo el proceso de la aplicación sin diferenciar inicios o
cierres de sesión y están activos y disponibles para todos los usuarios, para crear una
variables de aplicación por ejemplo que se llame “Mensaje” la declaramos de la siguiente
manera:
Application(“Mensaje”) = “Valor_del_mensaje“
Ver los script de ejemplos.
WEB.CONFIG
Web.config es el archivo principal de opciones de configuración para una aplicación web
en ASP.NET. El archivo es un documento XML que define información de configuración
concerniente a la aplicación web. El archivo web.config contiene información que controla
la carga de módulos, configuraciones de seguridad, configuraciones del estado de la
sesión, opciones de compilación y el lenguaje de la aplicación. Los archivos web.config
pueden contener también objetos específicos tales como cadenas de conexión a la base
de datos.
Control de seguridad.
Conexiones a bases de datos.
Estado de las sesiones.
Control de errores.
Configuraciones personalizadas.
Al igual que el global.asax debe ser colocado en la raíz de la aplicación.
GLOBAL.ASAX
Global.asax nos provee una manera de responder a los eventos de la aplicación. Puede
utilizarlo para implementar seguridad en la aplicación, conteo de usuarios, entre otros.
Descripción:
El archivo Global.asax está en el directorio raíz de la aplicación. Es un archivo opcional.
Podemos incluyo borrarlo si no lo ocupamos. Lo caracteriza la extensión .asax
Este archivo está configurado tanto que cualquier petición HTTP via URL es rechazado
automaticamente, los usuarios no pueden descargar ni ver sus contenidos.
Programación:
El archivo Global.asax hereda de la clase HttpApplication, mantiene un pool de objetos de
tipo HttpApplication y los asigna a la aplicación cuando esta lo necesita. Dentro de los
eventos de Global.asax, podemos encontrar los siguientes:
Application_Init:
Se dispara cuando una aplicación es inicializada o la primera vez que es llamada. Esto
invoca a todas las instancias de objetos de tipo HttpApplication.
Application_Disposed:
Se dispara justo antes de que una aplicación sea destruida. Este método es ideal para
limpiar anteriormente recursos que fueron utilizados.
Application_Error:
Se dispara cuando una excepción no controlada ocurre en la aplicación.
Application_Start:
Se dispara cuando se ha creado la primera instancia de la clase HttpApplication. Esto
permite crear objetos que son accesibles a las todas las instancias de HttpApplication.
Application_End:
Se dispara cuando la última instancia de la clase HttpApplication es destruida. Este
método es solamente lanzado una vez durante la vida de la aplicación.
Application_BeginRequest:
Se dispara cuando una petición de la aplicación es recibida, ocasionalmente es una
petición de URL que los usuarios colocan.
Application_EndRequest:
El útimo evento disparado para una petición de la aplicación.
Application_PreRequestHandlerExecute:
Se dispara cuando se empieza a ejecutar algún evento como una página o un servicio
web.
Application_PostRequestHandlerExecute:
Se dispara cuando el framework ASP.NET ha terminado de ejecutar un evento.
Application_PreSendRequestHeaders:
Se dispara antes de que el framework envié cabeceras HTTP a un cliente solicitante
(navegador).
Application_PreSendContent:
Se dispara antes de que el framework envié contenido a un cliente solicitante
(navegador).
Application_AcquireRequestState:
Se dispara cuando el framework obtiene el estado actual (Session state) relacionado
con la petición actual.
Application_ReleaseRequestState:
Se dispara cuando el framework de la página ASP.NET completa la ejecución de todos
los manejadores de eventos.
Application_ResolveRequestCache:
Cuando se completa una petición de autorización. Esto permite que los módulos de
cacheo atiendan la petición desde la cache, pasando la ejecución del manejador.
Application_UpdateRequestCache:
Cuando se completa le ejecución del manejador para permitir que los módulos de
cache almacenen las respuestas que serán utilizadas para peticiones subsecuentes.
Application_AuthenticateRequest:
Cuando un módulo de seguridad que ha establecido que la identidad del usuario actual
es válida. En este punto, las credenciales del usuario han sido validadas.
Application_AuthorizeRequest:
Cuando un módulo de seguridad ha verificado que el usuario puede acceder a los
recursos.
Session_Start:
Se dispara cuando un usuario nuevo visita la aplicación web.
Session_End:
Se dispara cuando la sesión del usuario se ha agotado, terminado o haya dejado la
página web
Ejercicio:
1. Crea un sistema de afiliación a un sitio web, creando los script de inicio de sesión, cierre,
registro, y un menú general según los niveles.
2. Incorporar al sitio anterior el mantenimiento a una tabla que el administrador tengo
opción de realizar cualquier operación, el supervisor solo pueda agregar y editar, y un
usuario general solo pueda ver.
Descargar