Descargar

Autenticación en aplicaciones Web (PPT)

Enviado por Pablo Turmero


Partes: 1, 2

    edu.red

    Generalidades ¿Qué es Autenticación? Es el mecanismo que permite afirmar que la persona que esta ingresando al sistema es quien dice ser.

    ¿Cómo Funciona? Se aceptan las credenciales ingresadas por el usuario (usuario – contraseña) y se validan contra una base de datos, el sistema operativo, un servicio web, u otro mecanismo definido según el tipo de autenticación.

    edu.red

    Tipos de Autenticación Basada en Windows Basada en Windows e IIS La solicitud de la página pasa por IIS Si IIS valida exitosamente la credencial, entonces se devuelve la página solicitada Basada en Formularios Las solicitudes no autenticadas son redireccionadas a un formulario de login Después de validar la credencial se envía al cliente una cookie de autenticación Basada en Microsoft Passport Servicio de autenticación centralizado Passport es un Web Service

    edu.red

    Configurando la autenticación

    edu.red

    Autenticación por Formularios La autenticación por formularios se utiliza para validar a los usuarios contra bases de datos relaciones, Servicios Web, etc.

    ¿Cómo funciona? Si las credenciales son válidas, ASP.NET graba un ticket de autenticación en la cookie que contiene la identidad del usuario.

    Si el usuario es anónimo, redirecciona las peticiones a una página predeterminada para validar las credenciales del usuario.

    edu.red

    Cliente solicita una página Autorizado Autenticación basada en Formulario NOAutenticado Autenticado Form de Login(Usuario ingresa sus credenciales) Autenticado Cookie de autenticación Autorizado NOAutenticado Acceso Denegado Página Segura solicitada (Gp:) ?

    (Gp:) ?

    IIS Usuario Clave Gabriel *********** Aceptar 1 2 3 4 6 5 7 Autenticación por Formularios

    edu.red

    Controles de Login (1/2) Control Log In

    Ejemplo del control

    edu.red

    Controles de Login (2/2) Control de Creación de Usuarios (Gp:)

    (Gp:) Ejemplo del control

    edu.red

    Generalidades Las páginas html de una aplicación web se transmiten por medio del protocolo HTTP, como se mencionó anteriormente. Este protocolo es un protocolo “sin estado”. Así, una vez que el usuario ingreso datos en el navegador, si no se mantiene el estado mediante algún mecanismo, se pierden los datos ingresados. Por este motivo, ASP.Net proporciona mecanismos para mantener el estado de sus variables a través de las distintas peticiones de páginas. Entre estos mecanismos se encuentran: Application State : mecanismo de almacenamiento global accesible desde todas las páginas de la aplicación Web Session State : mecanismo de almacenamiento limitado a la sesión actual del navegador View State :Mantiene valores entre múltiples solicitudes a la misma página

    edu.red

    Administración de estados

    Contraseña Juan Ingresar ******* Login.aspx Login.aspx Hola Juan Inicio.aspx Ingrese sus datos de inicio de sesión Juan Ingresar ******* Hola Inicio.aspx Nombre Contraseña Sin Adm. De Estados Con Adm. De Estados Olvide quien es Ud! Ingrese sus datos de inicio de sesión Nombre

    edu.red

    Tipos de administración de estado

    edu.red

    Application State es un mecanismo de almacenamiento global accesible desde todas las páginas de la aplicación Web Seesion State está limitada a la sesión actual del browser Las sesiones ASP.NET se identifican con una cadena de caracteres ASCII y se guarda como una Cookie en el cliente SessionID Variables de Session y Application Administración de estados – Servidor

    edu.red

    Cookies para mantener el estado: Temporarias Persistentes Problema: el usuario puede borrarlas o deshabilitarlas Problemas de seguridad Espacio limitado a almacenar no más de 4KB Cookie Administración de estados – Cliente

    edu.red

    Global.asax Administra eventos a nivel de aplicación y sesión.

    Los eventos referentes a la manutención del estado de aplicaciones web, son: Application_Start Application_End Session_Start Session_End

    edu.red

    Estado de la aplicación(1/2) Permite almacenar información a nivel de aplicación, común a todas las sesiones. Esta información se almacena en una colección llamada Application. El acceso a esta información se realiza mediante el objeto intrínseco “Application” Ejemplo en C# protected void Application_Start() { DataSet ds = new DataSet(); try { FileStream fs = new FileStream(Server.MapPath("schemadata.xml"), FileMode.Open,FileAccess.Read); StreamReader reader = new StreamReader(fs); ds.ReadXml(reader); } finally { fs.Close(); } DataView view = new DataView(ds.Tables[0]); Application["Sucursal"] = view; }

    edu.red

    Estado de la aplicación(2/2)

    Ejemplo en Visual Basic Sub Application_Start(ByVal sender As Object, ByVal e As _ EventArgs) Dim ds As DataSet = New DataSet Try Dim fs As FileStream = New _ FileStream(Server.MapPath("schemadata.xml"), _ FileMode.Open, FileAccess.Read) Dim reader As StreamReader = New StreamReader(fs) ds.ReadXml(reader) Finally fs.Close End Try Dim view As DataView = New DataView(ds.Tables(0)) Application("Sucursal") = view End Sub

    edu.red

    Estado de la sesión (1/2) Una sesión es una interacción entre un navegador y un servidor web (comprende varios Requests a lo largo del tiempo) Es posible almacenar información únicamente relevante para una sesión. El acceso a esta información se realiza mediante el objeto intrínseco “Session” Ejemplo C# Protected void Session_Start( object sender, EventArgs e ) { //… try { conn = new SqlConnection( ConfigurationManager.ConnectionStrings[ "ADVENTUREWORKSConnectionString"].ConnectionString); command.Connection = conn; conn.Open(); object result = command.ExecuteScalar(); Session["codigo"] = result; } finally { conn.Close(); } }

    Partes: 1, 2
    Página siguiente