Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porChus Maya Modificado hace 11 años
1
Jorge Oblitas Consultor en tecnología asociada a la gestión del Conocimiento Ha sido miembro de los programas Microsoft Regional Director (desde el 2000) Microsoft Partner Advisory Council (2002) Consultor para los programas Panorama Box y DCE Soluciones Intranet premiadas en Perú y EE.UU. Creador del curso para la segunda estrella DCE Bajista desde 1984 Aficionado a los Golden Retrievers y Beagles
2
“Webcast Series” Introducción a las ASP.NET para desarrolladores ASP/PHP Introducción a las ASP.NET 2.0 para desarrolladores ASP.NET Creación de aplicaciones Web con acceso a datos usando ASP.NET2.0 Creando aplicaciones seguras a través del uso de membresía y manejo de roles con Visual Studio 2005 y ASP.NET 2.0 Usando "Profiles" en ASP.NET 2.0 y localizando aplicaciones. Extendiendo ASP.NET 2.0 a través del modelo basado en proveedores (provider model)
3
Introducción a las ASP.NET para desarrolladores ASP/PHP
Jorge Oblitas Inteligencia e Innovación Microsoft Regional Director
4
Creando aplicaciones seguras a través del servicio de membresía y manejo de roles con Visual Web Developer Express beta 2 y ASP.NET 2.0 Jorge Oblitas Inteligencia e Innovación Microsoft Regional Director Peru – Andean Region
5
Agenda Servicio de Membresía (Membership service) Controles Login
Membership API Membership providers Controles Login Servicio de Manejo de roles La clase Roles Role caching Role providers
6
Membership Service Servicio para administrar usuarios y credenciales
Acceso declarativo via el Web Site Admin Tool Acceso programático usando las clases Membership y MembershipUser La clase Membership provee servicios base La clase MembershipUser representa los usuarios y provee servicios adicionales Basado en providers para un almacenamiento de datos flexible
7
Esquema del servicio Controles Membership API Membership Providers
Login LoginStatus LoginView Otros controles Login Membership API Membership MembershipUser Membership Providers AccessMembershipProvider SqlMembershipProvider Otros Membership Providers Membership Data Access SQL Server Otros
8
La clase Membership Provee m[etodos est[aticos para llevar a cabo tareas claves de al trabajar con membresía Crear y eliminar usuarios Recolectar información sobre los usuarios Generar contraseñas aleatorias Validar logins También incluye propiedades estáticas de tipo read-only static para recibir información acerca de la configuración del provider de membresía
9
Métodos “principales” de la clase Membership
Nombre Descripción CreateUser Agrega al usuario al membership data store DeleteUser Remueve el usuario del membership data store GeneratePassword Genera una contraseña aleatoria de un largo específico GetAllUsers Recoge una colección de objetos MembershipUser Representando a todos los usuarios registrados GetUser Recoge un objeto MembershipUser representando a un usuario UpdateUser Actualiza la información del usuario especificador ValidateUser Valida los logins basado enel nombre de usuario y la contraseña MaxInvalidPasswordAttempts Número máximo de intentos de loguearse fallidos
10
Creando nuevos usuarios
try { Membership.CreateUser (“Jorge", “MiPassword", } catch (MembershipCreateUserException e) { // por que fallo? switch (e.StatusCode) { case MembershipCreateStatus.DuplicateUsername: ... case MembershipCreateStatus.Duplicate case MembershipCreateStatus.InvalidPassword: default:
11
Validando Logins if (Membership.ValidateUser (UserName.Text, Password.Text)) FormsAuthentication.RedirectFromLoginPage (UserName.Text, RememberMe.Checked);
12
La clase MembershipUser
Representa a usuarios individuales registrados en el membership data store Incluye varias propiedades para obtener y configurar información del usuario Incluye métodos para obtener, cambiar y “resetear” contraseñas
13
Propiedades “principales” de la clase MembershipUser
Nombre Descripción Comment Almacenamiento para datos específicos del usuario CreationDate Día en que el usuario fue añadido al membership data store del usuario LastLoginDate Día del último login exitoso del usuario LastPasswordChangedDate Día dle último cambio de contraseña UserId Identificador del usuario generado por el membership provider UserName Nombre registrado del usuario
14
Métodos “principales” de la clase MembershipUser
Nombre Descripción ChangePassword Cambia la contraseña del usuario ChangePassword- QuestionAndAnswer Cambia la pregunta y la respuesta utilizada para recuperar la contraseña GetPassword* Obtiene la contraseña ResetPassword “Resetea” la contraseña y crea una nueva aleatoriamente * Works if Membership.EnablePasswordRetrieval is true
15
Membership Providers La membresía está basada en providers
El Provider provee la interface entre el servicio de membresía y el lugar físico donde se encuentran los datos * Will be removed from beta 2
16
Configuración del Provider
Soporte a varios aspectos de la configuración Cómo deben ser almacenadas las contraseñas ¿cleartext, hashed, encrypted)? ¿Debemos habilitar recuperación de contraseña? ¿El debe ser único para cada usuario? Se inicializa desde los archivos. config
17
Cambiando la configuración del provider
<membership defaultProvider="Icuadrado" userIsOnlineTimeWindow="15"> <providers> <add name="Icuadrado" type="System.Web.Security.SqlMembershipProvider, System.Web,… connectionStringName="ClubSiteDB" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" applicationName="Icuadrado" requiresUnique ="true" passwordFormat="Hashed"/> </providers> </membership>
18
Membership
19
Controles Login Control Descripción ChangePassword
UI para cambiar contraseñas CreateUserWizard UI para crear nuevas cuentas de usuario Login UI para ingresar y validad nombres de usuario y contraseñas LoginName Muestra el nombre de usuario del usuario autenticado LoginStatus UI para hacer log in o log out LoginView Muestra diferentes vistas dependiendo de si el usuario está logueado o no y de acuerdo a los roles PasswordRecovery UI para recuperar contraseñas
20
El control Login UI para el logueo de usuarios
Se integra al servicio de membership Llama automáticamente a ValidateUser Validación y login ´sin código También trabaja con sin el membership service Incorpora RequiredFieldValidators
21
Usando el control Login
<html> <body> <form runat="server"> <asp:Login RunAt="server" /> </form> </body> </html>
22
Eventos del control Login
Nombre Descripción Authenticate Se dispara cuando el usuario hace click en el botón Log In. Su propósito es autenticar al usuario validando sus credenciales. LoggedIn Se dispara luego de un login exitoso LoggingIn Se dispara cuando el usuario hace click en el botón log in. Su propósito es pre validar las credenciales (por ejemplo: formato) LoginError Se dispara cuando falla el intento de loguearse
23
Controles Login
24
Servicio de administración de roles (Role Management Service)
Seguridad basada en roles incluida en el producto. Acceso declarativo via el Web Site Admin Tool Acceso programático via la clase roles La clase roles contiene métodos estáticos para la creación de roles, agregar usuarios a esos roles, etc. Mapea a los usuarios con los roles en cada request Reemplza a Application_AuthenticateRequest Basado en providers para tener flexibilidad
25
Esquema Controles Roles API Role Providers Roles Data Login
LoginStatus LoginView Otros controles login Roles API Roles Role Providers AccessRoleProvider SqlRoleProvider Otros Providers Roles Data Access SQL Server Otros
26
La clase Roles Puerta de acceso a la API: Role Management
Brinda métodos estáticos para levar a cabo tareas de administración de roles como Crear y eliminar roles Agregar usuarios a los roles Remover usuarios de los roles.. … y más También incluyepropiedades estáticas read-only para adquirir datos acerca del provider
27
Métodos clave Nombre Descripción AddUserToRole
Agrega al usuario al rol CreateRole Crea un nuevo rol DeleteRole Elimina un rol existente GetRolesForUser Obtiene una colección de roles a los que pertenece el usuario GetUsersInRole Obtiene una colección de usuarios pertenecientes a ese rol IsUserInRole Indica si el suario pertenece a ese rol RemoveUserFromRole Remueve al usuario del rol especificado
28
Creando un nuevo rol if (!Roles.RoleExists ("Desarrolladoress")) {
Roles.CreateRole ("Desarrolladores"); }
29
Agregando un usuario al rol
string name = Membership.GetUser ().Username; Roles.AddUserToRole (name, “Desarrolladores");
30
Habilitando el Role Manager
Role management esta deshabilitado por defecto Se habilita via el Web.config: <configuration> <system.web> <roleManager enabled="true" /> </system.web> </configuration>
31
Role Caching El Role manager caches los datos en cookies
Menos acceso al data store Mejor Performance Controlado via los atributos<roleManager> y expuesto programáticamente via la clase Roles ¿Los roles deberían usar cookies? ¿Las cokies deberían estar encriptadas? ¿Cuánto tiempo deberían valer las cookies?
32
Habilitando Role Caching
<configuration> <system.web> <roleManager enabled="true" cacheRolesInCookie="true" /> <!-- Other roleManager attributes (and their defaults) include: cookieName=".ASPXROLES" // Nombre de la cookie cookieTimeout="30" // tiempo de vida cookiePath="/" // Ruta cookieRequireSSL="false" // restriccion SSL? cookieSlidingExpiration="true" // renovarlas? createPersistentCookie="false" // generar persistente? cookieProtection="All" /> // Nivel d eproteccion --> </system.web> </configuration>
33
Role Management
34
Preguntas
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.