La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Programación de aplicaciones con ASP.NET

Presentaciones similares


Presentación del tema: "Programación de aplicaciones con ASP.NET"— Transcripción de la presentación:

1 Programación de aplicaciones con ASP.NET
Bienvenidos Programación de aplicaciones con ASP.NET Daniel Laco Carlos Walzer

2 Agenda Objetivo de la Conferencia ¿Qué son los Starter Kits?
Data Access Application Block (DAAB) ¿Cómo se procesa un WebForm? Seguridad en ASP.NET Creación de Controles de Usuario Nivel de la conferencia: Básico / Intermedio ( )

3 Objetivos Mostrar una aplicación Ver el acceso a datos
Entender el modelo de procesamiento de un WebForm Saber como se maneja la seguridad Crear Controles de Usuario

4 Starter Kits

5 Starter Kits ¿Qué son los Starter Kits? Se pueden bajar de www.asp.net
El elegido para hoy: “TimeTracker”

6 Data Access Application Block (DAAB)

7 Data Access Application Block
Componente de Acceso a datos Todo el código fuente disponible Arquitectura recomendada por Microsoft Funciones estáticas (static-shared) Transacciones

8 SqlHelperParameterCache
Modelo Cliente DAAB Sentencia SQL o Proc. Almacenado ExecuteNonQuery ExecuteDataset ExecuteReader ExecuteScalar ExecuteXmlReader SqlHelper SQL int Dataset SqlDataReader object XmlReader CacheParameterSet GetCachedParameterSet GetSpParamterSet SqlHelperParameterCache SqlParameter Array

9 SQLHelper Métodos Conexión Tipos Sentencias Parámetros ExecuteNonQuery
ExecuteDataset ExecuteReader ExecuteScalar ExecuteXmlReader Conexión Tipos Sentencias Parámetros

10 Recursos Resumen - DAAB Acceso a datos robusta y eficiente
Fácilmente extensible Recursos msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/ html/daab-rm.asp

11 ¿Cómo se procesa un WebForm?

12 Modelo Web Request (Pedido) Cliente Web Server Response (Respuesta)

13 Modelo de Eventos Web Forms
Evento disparado en el Cliente Atrapado en el servidor Request (Pedido) Cliente Web Server evento Analiza mensaje Llama al manejador apropiado manejador Response (Respuesta)

14 Como se implementa Form ViewState Eventos POST Page.IsPostBack Base64
EnableViewState No siempre es necesario Eventos Post-Back Cached events (retenidos) AutoPostBack Validación

15 Ciclo de Vida de un Web Form
Inicialización de Objetos Carga ViewState Procesa datos del Post Carga Objetos Lanza los Eventos Cached Lanza el Evento Post-Back PreRender Graba ViewState Render Disposal

16 Recursos Resumen - WebForms Nos acerca al modelo de Win32
Administre el Post-Back Round-Trips ViewState Recursos msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon/html/ vbconwebformspageprocessingstages.asp

17 Seguridad

18 Servicios de Seguridad
Autenticación y autorización en ASP.NET: Extensible y personalizable Esquema de Autenticación transparente Modelo simple de desarrollo Soporte para autorizaciones granulares Usa CLR Evidence Based Security Soporta seguridad a nivel de aplicación

19 Windows Authentication (vía IIS)
Autenticación - Tipos Windows Authentication (vía IIS) Basic, Digest, NTLM, Kerberos, IIS Certificate Autenticación basada en Formularios (Cookie) Verificación de credencial a nivel de Aplicación Microsoft Passport®

20 Autenticación basada en Formularios
Fácil de implementar ASP .NET provee redirección Pasos Configure IIS para que permita usuarios anónimos (típicamente) Use SSL! Configure ASP.NET con autenticación por cookie Escriba su página de Login <authentication mode= "Forms"> <forms name=".ASPXAUTH" loginUrl="login.aspx" protection="all" timeout="30" path="/" /> </authentication>

21 Autorización Web Personalizada
Escenarios: Acceso basado en reglas del negocio Acceso basado en comportamientos variables (Ej.: límite de acceso por día, etc.) Modelo simple de desarrollo Maneja el evento AuthenticateRequest A nivel de aplicación (global.asax) o Http Module (implementar IHttpModule)

22 Proceso de Request en ASP.NET
Page ASP.NET Service HTTP Handler Application HTTP Module Http Context HTTP Module Global.asax Código .NET ASP.NET Runtime Código Nativo Host (IIS)

23 Eventos por Request Eventos por Request (en orden):
Application_BeginRequest Application_AuthenticateRequest <Este es el que nos interesa hoy> Application_AuthorizeRequest Application_ResolveRequestCache Application_AcquireRequestState Application_PreRequestHandlerExecute Application_PostRequestHandlerExecute Application_ReleaseRequestState Application_UpdateRequestCache Application_EndRequest

24 Indentidad del Request
Impersonalización Se ejecuta con el contexto de seguridad de la entidad que hace el Request Configurable en ASP.NET <system.web> <identity impersonate="true" /> </system.web>

25 Roles personalizados Maneja el evento authentication IPrincipal
public void WindowsAuthentication_OnAuthenticate( Object src, WindowsAuthenticationEvent e) { // reemplace HttpContext Principal e.Context.User = new MyPrincipal(e.Identity); }

26 Resumen - Seguridad Seguridad personalizada
Reemplace HttpContext.User con un objeto personalizado de IPrincipal o GenericPrincipal

27 Recursos - Seguridad Autenticación en .NET – Guía de Seguridad: Seguridad .NET en MSDN: msdn.microsoft.com/library/default.asp?url=/nhp/Default.asp?contentid=

28 INTERVALO 10’

29 Controles del Servidor

30 ¿Qué es un Control ASP.NET?
Un componente que se ejecuta en el servidor y expone interfaz Web… Propiedades, métodos, eventos Se muestra como HTML, XML, script, etc. Procesa acciones del usuario y datos Puede representar elementos HTML o abstracciones de alto nivel Hablando técnicamente… Es implementado como una clase .NET Deriva desde System.Web.UI.Control, o de System.Web.UI.WebControls.WebControl

31 Tipos de Controles de Usuario
Web User Controls Fáciles de hacer Reemplazan antiguos Includes Solo para una aplicación Custom Controls (compuestos) Composite Custom Control Rendered Custom Control Compilable en un Assembly Soporte para diseño en Visual Studio .NET (toolbox, property page)

32 Persistencia basada en Tags
Register%> tagPrefix tagName Namespace Src Assembly Register TagPrefix="Acme" Tagname=“List" Src=“List.ascx" %> Tags interpretados en tiempo de ejecución Crea una instancia del Control Inicializa los valores de las propiedades <acme:List id=l1 liststyle=number runat=server> <Items> <acme:ListItem>first item</acme:ListItem> <acme:ListItem>second item</acme:ListItem> <acme:ListItem>third item</acme:ListItem> </Items> </acme:List>

33 Usando Controles en tiempo de ejecución
Objetos .NET en código Controles en los eventos de una página Page_Load, Button1_Click, etc. protected AcmeControls.List l1; void Page_Load(object send, EventArgs e) { l1.Items.Add(“fourth item”); l1.ForeColor = Color.Blue; }

34 Resumen - Controles Los Controles proveen un mecanismo de abstracción y reusabilidad para aplicaciones Web Marco muy rico: Mantener los estados a través de los post Enviar eventos desde el cliente Implementar funcionalidad en el cliente mediante script Controles derivados Composición de controles

35 Recursos - Controles Gotdotnet: ASP.NET:
ASP.NET: WebControls: msdn.microsoft.com/library/default.asp?url=/workshop/webcontrols/ webcontrols_entry.asp

36 Noticias de .NET en español
Resumen final Disponemos de un componente para Acceso a datos Entender como funciona el modelo de WebForms Crear nuestro Principal para autenticaciones personalizadas Usar Controles para reutilizar el código Noticias de .NET en español

37 ¿Preguntas? Por favor, completar el formulario de evaluación
Te llevás un CD con un curso interactivo de ASP.NET y Visual C# En 10 días, esta ppt en línea

38 Muchas gracias por tu participación!
Daniel Laco Carlos Walzer

39 Programa Desarrollador Cinco Estrellas
Hacele un upgrade a tu currículum Si ya tenés tu estrella, pasá al salón San Telmo

40 Tu potencial. Nuestra pasión.®


Descargar ppt "Programación de aplicaciones con ASP.NET"

Presentaciones similares


Anuncios Google