Componentes de ASP'NET - PowerPoint PPT Presentation

1 / 38
About This Presentation
Title:

Componentes de ASP'NET

Description:

INPUT type='text' id='nombre' runat='server' ... Tipos de autenticaci n dadas por ASP.NET. Windows. Formularios. Passport. Autenticaci n de Windows ... – PowerPoint PPT presentation

Number of Views:85
Avg rating:3.0/5.0
Slides: 39
Provided by: leonar52
Category:
Tags: asp | net | componentes | dadas

less

Transcript and Presenter's Notes

Title: Componentes de ASP'NET


1
Componentes deASP.NET
  • Leonardo Diez Dolinski
  • Servicios Profesionales
  • Danysoft

2
Orden del día
  • Funcionamiento interno
  • Configuración
  • Seguridad
  • Manejo de estado

3
Generación de una página .aspx
ltHTMLgt ltHEADgt ltTITLEgtMi páginalt/TITLEgt lt/HEADgt ltB
ODYgt ltFORM runat"server" id"WebForm1"gt
ltINPUT type"text" id"nombre" runat"server"gt
ltaspTextBox id"apellidos" runat"server"gtlt/aspT
extBoxgt ltaspButton id"enviar" Text"enviar"
runat"server"gtlt/aspButtongt lt/FORMgt lt/BODYgt lt/HT
MLgt
4
Generación de una página .aspx
Objeto página
ltHTMLgt ltHEADgt ltTITLEgtMi páginalt/TITLEgt lt/HEADgt ltB
ODYgt ltFORM runat"server" id"WebForm1"gt
ltINPUT type"text" id"nombre" runat"server"gt
ltaspTextBox id"apellidos" runat"server"gtlt/aspT
extBoxgt ltaspButton id"enviar"
runat"server"gtlt/aspButtongt lt/FORMgt lt/BODYgt lt/HT
MLgt
Controls
HtmlGeneric
HtmlForm
HtmlInput
TextBox
Button
HtmlGeneric
5
Generación de una página .aspx
Objeto página
ltHTMLgt ltHEADgt ltTITLEgtMi páginalt/TITLEgt lt/HEADgt ltB
ODYgt
Controls
HtmlGeneric
HtmlForm
ltFORM action"...gt lt/FORMgt
HtmlInput
ltINPUT type"text" name"nombre"...gt
TextBox
ltINPUT type"text" name"apellidos"...gt
Button
ltINPUT type"button" name"enviar"...gt
HtmlGeneric
lt/BODYgt lt/HTMLgt
6
PostBack
e
POST WebForm1.aspx nombreLeonardo apellidosDiez
...
Leonardo
Diez
7
ViewState
... apellidos.BackColor Color.Blue ...
ltFORM action"...gt ltINPUT type"hidden
name"__ViewState value4fwe..."gt ...
... lt/FORMgt
Objeto página
Controls
HtmlGeneric
HtmlForm
HtmlInput
HtmlGeneric
TextBox
Button
8
ViewState
e
POST WebForm1.aspx ... __ViewState4fwe... ...
Leonardo
apellidos.BackColor Color.Blue
Diez
enviar
9
Eventos
e
POST WebForm1.aspx ... enviarenviar
Leonardo
Diez
10
Orden del día
  • Funcionamiento interno
  • Configuración
  • Seguridad
  • Manejo de estado

11
Configuración
  • A través de ficheros de configuración
  • Formato XML y extensión .config
  • Fácil mantenimiento y despliegue
  • Diferentes alcances
  • Toda la máquina (Directorio windows\Microsoft.NE
    T)
  • Aplicación de escritorio
  • Aplicación y directorios web
  • Organización jerárquica
  • Alcance inferior sobrescribe alcance superior
  • Alcance superior puede fijar valores

12
Configuración de máquina
  • Fichero machine.config
  • Dentro del directorio de Windows
  • Establece los valores predeterminados para todas
    las aplicaciones web
  • Seguimiento Deshabilitado
  • Máx. tiempo de ejecución 90 segundos
  • Manejo de sesiones Activo, en proceso
  • Autenticación Permitir usuarios anónimos
  • Soporte multi-CPU Deshabilitado

13
Configuración de aplicaciones web
  • Fichero web.config
  • Almacena la mayoría de las opciones de
    configuración
  • Sobrescribe algunos valores de machine.config
  • Añade nuevas configuraciones
  • Los cambios toman efecto inmediatamente
  • Reinicia la aplicación
  • Fácil despliegue
  • Se distribuye con el sitio
  • Casi no es necesaria la base de datos de IIS

14
Páginas de errores
  • Permite redirigir la ejecución a otra página,
    según el error ocurrido
  • ltcustomErrors mode"On"gt lterror statusCode"404"
    redirect"errorpage404.aspx"
    /gtlt/customErrorsgt
  • ltcustomErrors mode"RemoteOnly"gt lterror
    statusCode"404" redirect"errorpage404.as
    px" /gtlt/customErrorsgt

15
Configuración personalizada
  • Es posible añadir valores de configuración
    específicos de la aplicación al fichero de
    configuración
  • ltconfigurationgt ltappSettingsgt ltadd
    key"Conexion" value"" /gt lt/appSettingsgtlt/conf
    igurationgt
  • Acceso desde el código
  • cn ConfigurationSettings.AppSettings("Conexion")

16
Configuración especial
  • Es posible añadir configuración específica para
    determinados ficheros o directorios mediante el
    uso del tag ltlocationgt
  • ltconfigurationgt ltsystem.webgt ... lt/system.webgt
    ltlocation path/admingt ltsystem.webgt ltsecur
    itygt ltauthorizationgt ltallow
    rolesAdminsgt lt/authorizationgt lt/security
    gt lt/system.webgt lt/locationgtlt/configurationgt

17
Orden del día
  • Funcionamiento interno
  • Configuración
  • Seguridad
  • Manejo de estado

18
Elementos de seguridad
  • Autenticación
  • Autorización
  • Impersonación

19
Autenticación
  • Identificación de la persona (o sistema) que
    desea acceder a un sistema
  • Tipos de autenticación dadas por ASP.NET
  • Windows
  • Formularios
  • Passport

20
Autenticación de Windows
  • Se habilita para ASP.NET a través del fichero de
    configuración
  • ltsecuritygt ltauthentication mode"Windows"
    /gtlt/securitygt

21
Autenticación de Windows
  • Se configura a través de la consola de
    administración de Servicios de Internet
    Information Server

22
Autenticación de Windows
  • Es posible acceder al nombre del usuario
    autenticado
  • string usuario User.Identity.Name
  • Los grupos de Windows son automáticamente
    vinculados a Roles ASP.NET
  • if (User.IsInRole(Administrators)) ...

23
Autenticación de formularios
  • El sitio web es el responsable de la seguridad,
    no IIS
  • Configurar IIS para permitir acceso anónimo
  • Fuerza a los usuarios a autenticarse a través de
    un formulario
  • ltauthentication mode"Forms"gt ltforms
    loginUrlLogin.aspx /gtlt/authenticationgt
  • Cualquier usuario anónimo que intente acceder a
    un recurso protegido será enviado a Login.aspx

24
Autenticación de formularios
  • Crear un formulario de ingreso
  • Obtener nombre de usuario y contraseña
  • Validar datos enviados
  • Método FormAuthentication.RedirectFromLoginPage
  • Marca al usuario como autenticado
  • Lleva al usuario a la página que ha pedido
    originalmente
  • Si el usuario ha pedido la página de ingreso, lo
    redirige a la página de inicio de la aplicación
    web
  • La cookie de autenticación puede ser persistente
  • Existe la posibilidad de realizar cada paso por
    separado

25
Autenticación de formularios
  • Para sitios simples, se puede almacenar los
    nombres de usuarios y contraseñas en el fichero
    de configuración
  • ltcredentials passwordFormat"clear"gt ltuser
    name"MSDN" password"online" /gt ltuser
    name"Guest" password"guest" /gtlt/credentialsgt
  • Método FormAuthentication.Authenticate
  • Método FormAuthentication.HashPasswordForStoringIn
    ConfigFile

26
Autorización
  • Determina si el usuario autenticado tiene
    permisos para acceder a un recurso
  • Se especifica en el fichero de configuración
  • ltauthorizationgt ltallow users"usuarios
    separados por comas" roles"roles separados
    por comas" verbs"verbos separados por comas"
    /gt ltdeny users"usuarios separados por comas"
    roles"roles separados por comas"
    verbs"verbos separados por comas/gtlt/authoriza
    tiongt
  • Existen símbolos especiales
  • para representar a todos los usuarios
  • ? para representar usuarios anónimos

27
Impersonación
  • Permite representar al usuario de la aplicación
    con un usuario de Windows
  • Autenticación de Windows
  • ltidentity impersonate"true" /gt
  • Independiente del modo de autenticación
  • ltidentity impersonate"true"
    nameusuario"
    password"password" /gt

28
Demo
  • Implementación de la seguridad

29
Orden del día
  • Funcionamiento interno
  • Configuración
  • Seguridad
  • Manejo de estado

30
Manejo de estado
  • Una aplicación web se ejecuta en un medio sin
    estado
  • Necesidad de tener una forma de recordar datos
    mantener estado

31
Estado de aplicación
  • Colecciones de valores accesibles desde cualquier
    página y sesión
  • Objeto Application
  • Application"NombreEmpresa"
  • Se pueden bloquear o desbloquear el acceso
  • Métodos Lock y Unlock
  • Objeto Cache
  • Permite que los datos expiren

32
Estado de sesión
  • Colección de valores accesibles desde cualquier
    página
  • Objeto Session
  • Una colección por usuario
  • Session"UserId"

33
Sesiones de ASP.NET
  • Posibilidad de no usar cookies
  • Diferentes modos
  • InProc
  • Similar a ASP
  • Almacena las sesiones en la memoria del servidor
    web
  • StateServer
  • Las sesiones son almacenadas en memoria en un
    servicio separado
  • El servicio puede estar en un servidor remoto
  • SQLServer
  • Las sesiones son almacenadas en una base de datos
    de SQL Server

34
Sesiones de ASP.NET
  • Configuración en web.config
  • ltsessionState modeOffInProcStateServerSQLSer
    ver cookielessfalse timeout20 sqlConnect
    ionStringdata source127.0.0.1 user
    idsapasswordsa stateConnectionString"tcp
    ip127.0.0.142424" /gt

35
Sesiones de ASP.NET
  • Para configurar SQL Server para almacenar
    información de estados se debe ejecutar un
    pequeño script en el servidor
  • InstallSQLState.sql puede ser encontrado en
    sysdrive\winnt\Microsoft.NET\Framework\version
  • Crea lo siguiente en el servidor
  • Una base de datos llamada ASPState
  • Procedimientos almacenados
  • Tablas en TempDB para almacenar los datos de los
    estados.
  • Para desinstalar ejecutar el script
    UninstallSQLState.sql

36
Preguntas y respuestas
37
Para obtener más información
  • eRevista Danysoft
  • Webs Danysoft
  • Area Formación yS.Profesionales
  • DVD Danysoft
  • Libros Danypress
  • info_at_danysoft.com

38
Gracias por su asistencia
Write a Comment
User Comments (0)
About PowerShow.com