SlideShare una empresa de Scribd logo
1 de 22
ASP.NET
Guido Ticona Hurtado
guidoti@gmail.com
Autenticación y Autorización
 Autenticación
 Acepta credenciales de un usuario
 Valida las credenciales
 Autorización
 En función de las credenciales de
autenticación suministradas, determina el
derecho de acceso a un recurso
 Puede asignarse por nombre de usuario o
por rol
Autenticación
 Es el mecanismo que permite afirmar que la
persona que esta ingresando al sistema es quien
dice ser.
 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
Tipos
 Windows
 Forms
 Passport
 Otros
Tipos (Cont.)
 Autenticación basada en Windows
 Depende del sistema operativo Windows y de IIS
 El usuario solicita una página Web segura y la solicitud pasa por IIS
 Una vez IIS verifica las credenciales, se devuelve la página Web
segura
 Autenticación basada en formularios
 Las solicitudes no autenticadas son redirigidas a un formulario
HTML
 El usuario proporciona credenciales y envía el formulario HTML
 Una vez verificadas las credenciales, se suministra una cookie de
autenticación
 Autenticación mediante Microsoft Passport
 Servicio de autenticación centralizado que ofrece una única opción
de inicio de sesión
 Microsoft Passport es un Servicio Web XML
Factores para elegir método
 Sistema Operativo Servidor y Cliente
 Tipo de Browser
 Número de usuarios,ubicación y tipo
almacenamiento bd usuarios
 Consideraciónes de deploy
 Tipo de Aplicación(web site o web
services)
 Sensibilidad de datos
 Performace y factores de escalabilidad
 Requerimientos de autorizacion (perfiles)
Determinando método
Anonymous and cookies
Anonymous and passport
No
Si
Anonymous
No
Si
Si
(continua…)
No
Si
No
Certificates
No
Si
Forms over SSL
Certificates
Si
No
Forms
Passport
Users in
Passport?
Users
log on?
Users in
Windows
accounts?
Personalization
required?
Interactive
user logon?
Secure
logon?
Determinando
método(cont.)
No
Si
No Basic
Forms
Digest
Basic/SSL
Digest/SSL
Forms/SSL
Certificates
Si
No
No
Basic
NTLM
Certificates
Si
Custom Credential Mapping
Basic
Kerberos
Si
Basic
Digest
NTLM
Kerberos
Certificates
App runs on
Internet?
Secure
logon?
Delegation
required?
Servers
and clients
Win2K?
Si, Cuentas Windows
Métodos de autentificación
 Anonymous Authentication
 Basic Authentication
 Digest Authentication
 Integrated Windows Authentication
 Certificate Authentication
 Passport Authentication
 Forms Authentication
 Using Cookies
Matriz ASP.NET vs seguridad
IIS
IIS Authentication
Method
ASP.NET Authentication
Providers
Forms
Windows
Passport
None (Custom)
Basic
Integrated
Digest
Certificate Mapping
Anonymous
Autenticación por formulario
El cliente solicita página
Autorizado
Autenticación
ASP.NET
Forms
No
autenticado
Autenticado
Página de inicio
(los usuarios
introducen sus
credenciales)
Autenticado
Cookie de
autenticación
Autorizado
No
autenticado
Acceso
denegado
Página segura
solicitada


IIS
Nombre usuario
Contraseña
Alguien
***********
Enviar
1 2
3
46
5
7
Passport
elfec.com
Cliente
Passport.com
El cliente solicita una página al host1
2
3
4
5
El sitio redirige al cliente a Passport.com
El cliente es redirigido e inicia sesión en
Passport.com
Passport devuelve una
cookie con la
información del ticket
6
El cliente accede al host,
esta vez con la
información del ticket
El host devuelve un
formulario Web Form y
posiblemente una
nueva cookie que
puede leer y escribir
Membresia
 Membership
 Ayuda a administrar la autenticación de
usuarios
 Una manera para validar y almacenar
credenciales de Usuario y Roles
Autenticación Formulario
 Membership
 Custom Membership
 Clases Propias
Autenticación
 Habilitar Tipo de autenticacion en
web.config a tipo Forms
 Fijar la cookie de autenticación con
FormsAuthentication.SetAuthCookie()
 Se crea un objeto User,
HttpContext.Current.User
 Verifica que esta autenticado con el
objeto User ó Request.IsAuthenticated
Autorización
 Se define a un controlador o una acción
 Se usa [Authorize]
 Se puede restringir por usuario y/o Rol
 IsInRole() para restringir en las vistas
Configuración Roles
<roleManager
defaultProvider="miRolProvider"
enabled="true"
cacheRolesInCookie=“true">
<providers>
<clear />
<add name="miRolProvider" type="miRolProvider,miApp" />
</providers>
</roleManager>
Implementación Roles
 Heredar de RoleProvider
 Sobreescribir Método GetRolesforUser()
Encriptar connectionStrings
 aspnet_regiis –pef “connectionStrings”
“rutaApp” –prov
“DataProtectionConfigurationProvider”
Crear ConnectionStrings
string providerName = "Oracle.DataAccess.Client";
string providerString =
String.Format("DATA SOURCE=PROD;PASSWORD={1};
USER ID={0}",usr,clave);
EntityConnectionStringBuilder entityBuilder = new
EntityConnectionStringBuilder();
entityBuilder.Provider = providerName;
entityBuilder.ProviderConnectionString = providerString;
entityBuilder.Metadata =
@"res://*/Models.Comercial.csdl|res://*/Models.Comercial.ssdl|res://
*/Models.Comercial.msl";
Autenticación AD
<membership defaultProvider="MyADMembershipProvider">
<providers>
<add name="MyADMembershipProvider"
type="System.Web.Security.
ActiveDirectoryMembershipProvider,
System.Web, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="ADConnectionString"
connectionUsername="testdomainadministrator"
connectionPassword="password“"/>
</providers>
</membership>
<add name="ADConnectionString"
connectionString="LDAP://testdomain.test.com/CN=Users,DC=te
stdomain,DC=test,DC=com" />
Autorización a directorios
<location path="">
<system.web>
<authorization>
<allow users=""/>
<deny users=""/>
</authorization>
</system.web>
</location>

Más contenido relacionado

Similar a 8 Programación Web con .NET y C#

Actividad de Aprendizaje 5
Actividad de Aprendizaje 5Actividad de Aprendizaje 5
Actividad de Aprendizaje 5jsebastianch
 
Asp seguridad
Asp seguridad Asp seguridad
Asp seguridad gerardd98
 
3. certificados y pki
3. certificados y pki3. certificados y pki
3. certificados y pki1 2d
 
6. Validando Las Entradas De Usuario
6.  Validando Las Entradas De Usuario6.  Validando Las Entradas De Usuario
6. Validando Las Entradas De Usuarioguest3cf6ff
 
Iddiligence - Solución Know your customer (KYC)
Iddiligence - Solución Know your customer (KYC)Iddiligence - Solución Know your customer (KYC)
Iddiligence - Solución Know your customer (KYC)Addalia
 
Active directory Federation Servicies ASO1
Active directory Federation Servicies ASO1Active directory Federation Servicies ASO1
Active directory Federation Servicies ASO1Joseph Zolanhov
 
Operaciones en internet. aprende a hacerlas con seguridad
Operaciones en internet. aprende a hacerlas con seguridadOperaciones en internet. aprende a hacerlas con seguridad
Operaciones en internet. aprende a hacerlas con seguridadportalsenior
 
Como instalar el certificado digital en android
Como instalar el certificado digital en androidComo instalar el certificado digital en android
Como instalar el certificado digital en androidAgneta Gallardo
 
Active Directory Federation Services ASO1
Active Directory Federation Services ASO1Active Directory Federation Services ASO1
Active Directory Federation Services ASO1Joseph Zolanhov
 
Certificados digitales mishelita
Certificados digitales mishelitaCertificados digitales mishelita
Certificados digitales mishelitaMishelita Gonzalez
 
Certificado Digital Guadalinfo: Pasos para la Obtención, exportación y renova...
Certificado Digital Guadalinfo: Pasos para la Obtención, exportación y renova...Certificado Digital Guadalinfo: Pasos para la Obtención, exportación y renova...
Certificado Digital Guadalinfo: Pasos para la Obtención, exportación y renova...tuanjana
 
Jhon Cabana
Jhon CabanaJhon Cabana
Jhon Cabanajacksito
 

Similar a 8 Programación Web con .NET y C# (20)

Sistema de pago seguro
Sistema de pago seguroSistema de pago seguro
Sistema de pago seguro
 
Presentacion Taller Certificado digital guadalinfo
Presentacion Taller Certificado digital guadalinfoPresentacion Taller Certificado digital guadalinfo
Presentacion Taller Certificado digital guadalinfo
 
Actividad de Aprendizaje 5
Actividad de Aprendizaje 5Actividad de Aprendizaje 5
Actividad de Aprendizaje 5
 
firma electrónica y certificados digitales
firma electrónica y certificados digitalesfirma electrónica y certificados digitales
firma electrónica y certificados digitales
 
Asp seguridad
Asp seguridad Asp seguridad
Asp seguridad
 
3. certificados y pki
3. certificados y pki3. certificados y pki
3. certificados y pki
 
6. Validando Las Entradas De Usuario
6.  Validando Las Entradas De Usuario6.  Validando Las Entradas De Usuario
6. Validando Las Entradas De Usuario
 
Iddiligence - Solución Know your customer (KYC)
Iddiligence - Solución Know your customer (KYC)Iddiligence - Solución Know your customer (KYC)
Iddiligence - Solución Know your customer (KYC)
 
Firma digital
Firma digitalFirma digital
Firma digital
 
Firma digital
Firma digitalFirma digital
Firma digital
 
Firma digital
Firma digitalFirma digital
Firma digital
 
Active directory Federation Servicies ASO1
Active directory Federation Servicies ASO1Active directory Federation Servicies ASO1
Active directory Federation Servicies ASO1
 
Operaciones en internet. aprende a hacerlas con seguridad
Operaciones en internet. aprende a hacerlas con seguridadOperaciones en internet. aprende a hacerlas con seguridad
Operaciones en internet. aprende a hacerlas con seguridad
 
Como instalar el certificado digital en android
Como instalar el certificado digital en androidComo instalar el certificado digital en android
Como instalar el certificado digital en android
 
Active Directory Federation Services ASO1
Active Directory Federation Services ASO1Active Directory Federation Services ASO1
Active Directory Federation Services ASO1
 
Certificados digitales mishelita
Certificados digitales mishelitaCertificados digitales mishelita
Certificados digitales mishelita
 
Firma digital tics 20 cerouno
Firma digital tics 20 cerounoFirma digital tics 20 cerouno
Firma digital tics 20 cerouno
 
Certificado Digital Guadalinfo: Pasos para la Obtención, exportación y renova...
Certificado Digital Guadalinfo: Pasos para la Obtención, exportación y renova...Certificado Digital Guadalinfo: Pasos para la Obtención, exportación y renova...
Certificado Digital Guadalinfo: Pasos para la Obtención, exportación y renova...
 
Formas de pago
Formas de pagoFormas de pago
Formas de pago
 
Jhon Cabana
Jhon CabanaJhon Cabana
Jhon Cabana
 

Más de guidotic

1 Programación Web con .NET y C#
1 Programación Web con .NET y C#1 Programación Web con .NET y C#
1 Programación Web con .NET y C#guidotic
 
15 Programación Web con .NET y C#
15 Programación Web con .NET y C#15 Programación Web con .NET y C#
15 Programación Web con .NET y C#guidotic
 
14 Programación Web con .NET y C#
14 Programación Web con .NET y C#14 Programación Web con .NET y C#
14 Programación Web con .NET y C#guidotic
 
13 Programación Web con .NET y C#
13 Programación Web con .NET y C#13 Programación Web con .NET y C#
13 Programación Web con .NET y C#guidotic
 
12 Programación Web con .NET y C#
12 Programación Web con .NET y C#12 Programación Web con .NET y C#
12 Programación Web con .NET y C#guidotic
 
11 Programación Web con .NET y C#
11 Programación Web con .NET y C#11 Programación Web con .NET y C#
11 Programación Web con .NET y C#guidotic
 
10 Programación Web con .NET y C#
10 Programación Web con .NET y C#10 Programación Web con .NET y C#
10 Programación Web con .NET y C#guidotic
 
9 Programación Web con .NET y C#
9 Programación Web con .NET y C#9 Programación Web con .NET y C#
9 Programación Web con .NET y C#guidotic
 
7 Programación Web con .NET y C#
7 Programación Web con .NET y C#7 Programación Web con .NET y C#
7 Programación Web con .NET y C#guidotic
 
6 Programación Web con .NET y C#
6 Programación Web con .NET y C#6 Programación Web con .NET y C#
6 Programación Web con .NET y C#guidotic
 
5 Programación Web con .NET y C#
5 Programación Web con .NET y C#5 Programación Web con .NET y C#
5 Programación Web con .NET y C#guidotic
 
4 Programación Web con .NET y C#
4 Programación Web con .NET y C#4 Programación Web con .NET y C#
4 Programación Web con .NET y C#guidotic
 
5 Administración Android - Activity Manager
5 Administración Android  -  Activity Manager5 Administración Android  -  Activity Manager
5 Administración Android - Activity Managerguidotic
 
4 Administración Android - ADB 2
4 Administración Android - ADB 24 Administración Android - ADB 2
4 Administración Android - ADB 2guidotic
 
3 Administración Android - ADB
3 Administración Android  -  ADB3 Administración Android  -  ADB
3 Administración Android - ADBguidotic
 
2 Administración Android - Android
2 Administración Android  -  Android2 Administración Android  -  Android
2 Administración Android - Androidguidotic
 
1 Administración Android - Introducción
1 Administración Android -  Introducción1 Administración Android -  Introducción
1 Administración Android - Introducciónguidotic
 
16 Administración Android - EMM
16 Administración Android  -  EMM16 Administración Android  -  EMM
16 Administración Android - EMMguidotic
 
15 Administración Android - Localizacion
15 Administración Android  -  Localizacion15 Administración Android  -  Localizacion
15 Administración Android - Localizacionguidotic
 
14 Administración Android - Seguridad 2
14 Administración Android  -  Seguridad 214 Administración Android  -  Seguridad 2
14 Administración Android - Seguridad 2guidotic
 

Más de guidotic (20)

1 Programación Web con .NET y C#
1 Programación Web con .NET y C#1 Programación Web con .NET y C#
1 Programación Web con .NET y C#
 
15 Programación Web con .NET y C#
15 Programación Web con .NET y C#15 Programación Web con .NET y C#
15 Programación Web con .NET y C#
 
14 Programación Web con .NET y C#
14 Programación Web con .NET y C#14 Programación Web con .NET y C#
14 Programación Web con .NET y C#
 
13 Programación Web con .NET y C#
13 Programación Web con .NET y C#13 Programación Web con .NET y C#
13 Programación Web con .NET y C#
 
12 Programación Web con .NET y C#
12 Programación Web con .NET y C#12 Programación Web con .NET y C#
12 Programación Web con .NET y C#
 
11 Programación Web con .NET y C#
11 Programación Web con .NET y C#11 Programación Web con .NET y C#
11 Programación Web con .NET y C#
 
10 Programación Web con .NET y C#
10 Programación Web con .NET y C#10 Programación Web con .NET y C#
10 Programación Web con .NET y C#
 
9 Programación Web con .NET y C#
9 Programación Web con .NET y C#9 Programación Web con .NET y C#
9 Programación Web con .NET y C#
 
7 Programación Web con .NET y C#
7 Programación Web con .NET y C#7 Programación Web con .NET y C#
7 Programación Web con .NET y C#
 
6 Programación Web con .NET y C#
6 Programación Web con .NET y C#6 Programación Web con .NET y C#
6 Programación Web con .NET y C#
 
5 Programación Web con .NET y C#
5 Programación Web con .NET y C#5 Programación Web con .NET y C#
5 Programación Web con .NET y C#
 
4 Programación Web con .NET y C#
4 Programación Web con .NET y C#4 Programación Web con .NET y C#
4 Programación Web con .NET y C#
 
5 Administración Android - Activity Manager
5 Administración Android  -  Activity Manager5 Administración Android  -  Activity Manager
5 Administración Android - Activity Manager
 
4 Administración Android - ADB 2
4 Administración Android - ADB 24 Administración Android - ADB 2
4 Administración Android - ADB 2
 
3 Administración Android - ADB
3 Administración Android  -  ADB3 Administración Android  -  ADB
3 Administración Android - ADB
 
2 Administración Android - Android
2 Administración Android  -  Android2 Administración Android  -  Android
2 Administración Android - Android
 
1 Administración Android - Introducción
1 Administración Android -  Introducción1 Administración Android -  Introducción
1 Administración Android - Introducción
 
16 Administración Android - EMM
16 Administración Android  -  EMM16 Administración Android  -  EMM
16 Administración Android - EMM
 
15 Administración Android - Localizacion
15 Administración Android  -  Localizacion15 Administración Android  -  Localizacion
15 Administración Android - Localizacion
 
14 Administración Android - Seguridad 2
14 Administración Android  -  Seguridad 214 Administración Android  -  Seguridad 2
14 Administración Android - Seguridad 2
 

Último

institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenajuniorcuellargomez
 
Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenadanielaerazok
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfisrael garcia
 
COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfCOMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfOscarBlas6
 
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdfedwinmelgarschlink2
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdflauradbernals
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAdanielaerazok
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webDecaunlz
 

Último (8)

institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalena
 
Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalena
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
 
COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfCOMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdf
 
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdf
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la web
 

8 Programación Web con .NET y C#

  • 2. Autenticación y Autorización  Autenticación  Acepta credenciales de un usuario  Valida las credenciales  Autorización  En función de las credenciales de autenticación suministradas, determina el derecho de acceso a un recurso  Puede asignarse por nombre de usuario o por rol
  • 3. Autenticación  Es el mecanismo que permite afirmar que la persona que esta ingresando al sistema es quien dice ser.  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
  • 4. Tipos  Windows  Forms  Passport  Otros
  • 5. Tipos (Cont.)  Autenticación basada en Windows  Depende del sistema operativo Windows y de IIS  El usuario solicita una página Web segura y la solicitud pasa por IIS  Una vez IIS verifica las credenciales, se devuelve la página Web segura  Autenticación basada en formularios  Las solicitudes no autenticadas son redirigidas a un formulario HTML  El usuario proporciona credenciales y envía el formulario HTML  Una vez verificadas las credenciales, se suministra una cookie de autenticación  Autenticación mediante Microsoft Passport  Servicio de autenticación centralizado que ofrece una única opción de inicio de sesión  Microsoft Passport es un Servicio Web XML
  • 6. Factores para elegir método  Sistema Operativo Servidor y Cliente  Tipo de Browser  Número de usuarios,ubicación y tipo almacenamiento bd usuarios  Consideraciónes de deploy  Tipo de Aplicación(web site o web services)  Sensibilidad de datos  Performace y factores de escalabilidad  Requerimientos de autorizacion (perfiles)
  • 7. Determinando método Anonymous and cookies Anonymous and passport No Si Anonymous No Si Si (continua…) No Si No Certificates No Si Forms over SSL Certificates Si No Forms Passport Users in Passport? Users log on? Users in Windows accounts? Personalization required? Interactive user logon? Secure logon?
  • 8. Determinando método(cont.) No Si No Basic Forms Digest Basic/SSL Digest/SSL Forms/SSL Certificates Si No No Basic NTLM Certificates Si Custom Credential Mapping Basic Kerberos Si Basic Digest NTLM Kerberos Certificates App runs on Internet? Secure logon? Delegation required? Servers and clients Win2K? Si, Cuentas Windows
  • 9. Métodos de autentificación  Anonymous Authentication  Basic Authentication  Digest Authentication  Integrated Windows Authentication  Certificate Authentication  Passport Authentication  Forms Authentication  Using Cookies
  • 10. Matriz ASP.NET vs seguridad IIS IIS Authentication Method ASP.NET Authentication Providers Forms Windows Passport None (Custom) Basic Integrated Digest Certificate Mapping Anonymous
  • 11. Autenticación por formulario El cliente solicita página Autorizado Autenticación ASP.NET Forms No autenticado Autenticado Página de inicio (los usuarios introducen sus credenciales) Autenticado Cookie de autenticación Autorizado No autenticado Acceso denegado Página segura solicitada   IIS Nombre usuario Contraseña Alguien *********** Enviar 1 2 3 46 5 7
  • 12. Passport elfec.com Cliente Passport.com El cliente solicita una página al host1 2 3 4 5 El sitio redirige al cliente a Passport.com El cliente es redirigido e inicia sesión en Passport.com Passport devuelve una cookie con la información del ticket 6 El cliente accede al host, esta vez con la información del ticket El host devuelve un formulario Web Form y posiblemente una nueva cookie que puede leer y escribir
  • 13. Membresia  Membership  Ayuda a administrar la autenticación de usuarios  Una manera para validar y almacenar credenciales de Usuario y Roles
  • 14. Autenticación Formulario  Membership  Custom Membership  Clases Propias
  • 15. Autenticación  Habilitar Tipo de autenticacion en web.config a tipo Forms  Fijar la cookie de autenticación con FormsAuthentication.SetAuthCookie()  Se crea un objeto User, HttpContext.Current.User  Verifica que esta autenticado con el objeto User ó Request.IsAuthenticated
  • 16. Autorización  Se define a un controlador o una acción  Se usa [Authorize]  Se puede restringir por usuario y/o Rol  IsInRole() para restringir en las vistas
  • 18. Implementación Roles  Heredar de RoleProvider  Sobreescribir Método GetRolesforUser()
  • 19. Encriptar connectionStrings  aspnet_regiis –pef “connectionStrings” “rutaApp” –prov “DataProtectionConfigurationProvider”
  • 20. Crear ConnectionStrings string providerName = "Oracle.DataAccess.Client"; string providerString = String.Format("DATA SOURCE=PROD;PASSWORD={1}; USER ID={0}",usr,clave); EntityConnectionStringBuilder entityBuilder = new EntityConnectionStringBuilder(); entityBuilder.Provider = providerName; entityBuilder.ProviderConnectionString = providerString; entityBuilder.Metadata = @"res://*/Models.Comercial.csdl|res://*/Models.Comercial.ssdl|res:// */Models.Comercial.msl";
  • 21. Autenticación AD <membership defaultProvider="MyADMembershipProvider"> <providers> <add name="MyADMembershipProvider" type="System.Web.Security. ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="ADConnectionString" connectionUsername="testdomainadministrator" connectionPassword="password“"/> </providers> </membership> <add name="ADConnectionString" connectionString="LDAP://testdomain.test.com/CN=Users,DC=te stdomain,DC=test,DC=com" />
  • 22. Autorización a directorios <location path=""> <system.web> <authorization> <allow users=""/> <deny users=""/> </authorization> </system.web> </location>