Jorge Oblitas - PowerPoint PPT Presentation

1 / 35
About This Presentation
Title:

Jorge Oblitas

Description:

Ha sido miembro de los programas. Microsoft Regional Director (desde el 2000) ... Cu nto tiempo deber an valer las cookies? Habilitando Role Caching configuration ... – PowerPoint PPT presentation

Number of Views:163
Avg rating:3.0/5.0
Slides: 36
Provided by: jorgeo
Category:
Tags: jorge | oblitas | valer

less

Transcript and Presenter's Notes

Title: Jorge Oblitas


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 jorgeo_at_icuadrado.com

5
Agenda
  • Servicio de Membresía (Membership service)
  • 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
Login
LoginStatus
LoginView
Otros controlesLogin
Membership API
Membership
MembershipUser
Membership Providers
AccessMembershipProvider
Otros Membership Providers
SqlMembershipProvider
Membership Data
Access
SQL Server
Otros
8
La clase Membership
  • Provee metodos estaticos 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", jorgeo_at_icuadrado.com") catch
(MembershipCreateUserException e) // por
que fallo? switch (e.StatusCode) case
MembershipCreateStatus.DuplicateUsername
... case MembershipCreateStatus.DuplicateEmail
... case MembershipCreateStatus.Invali
dPassword ... default ...

11
Validando Logins
if (Membership.ValidateUser (UserName.Text,
Password.Text)) FormsAuthentication.RedirectFr
omLoginPage (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
Email
Email 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 email debe ser único para cada usuario?
  • Se inicializa desde los archivos. config

17
Cambiando la configuración del provider
ltmembership defaultProvider"Icuadrado"
userIsOnlineTimeWindow"15"gt ltprovidersgt
ltadd name"Icuadrado"
type"System.Web.Security.SqlMembershipProvider,
System.Web, connectionStringName"Cl
ubSiteDB" enablePasswordRetrieval"fa
lse" enablePasswordReset"true"
requiresQuestionAndAnswer"false"
applicationName"Icuadrado"
requiresUniqueEmail"true"
passwordFormat"Hashed"/gt lt/providersgt
lt/membershipgt
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 noy 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
lthtmlgt ltbodygt ltform runat"server"gt
ltaspLogin RunAt"server" /gt lt/formgt
lt/bodygt lt/htmlgt
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 esautenticar 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ósitoes 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
Login
LoginStatus
LoginView
Otros controleslogin
Roles API
Roles
Role Providers
AccessRoleProvider
Otros Providers
SqlRoleProvider
Roles Data
Access
Otros
SQL Server
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

ltconfigurationgt ltsystem.webgt ltroleManager
enabled"true" /gt lt/system.webgt lt/configurationgt
31
Role Caching
  • El Role manager caches los datos en cookies
  • Menos acceso al data store
  • Mejor Performance
  • Controlado via los atributosltroleManagergt 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
ltconfigurationgt ltsystem.webgt ltroleManager
enabled"true" cacheRolesInCookie"true" /gt
lt!-- 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"tr
ue" // renovarlas? createPersistentCookie"
false" // generar persistente?
cookieProtection"All" /gt // Nivel d
eproteccion --gt lt/system.webgt lt/configuratio
ngt
33
Role Management
34
Preguntas
35
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com