1 / 40

Programación de aplicaciones con ASP.NET

Bienvenidos. Programación de aplicaciones con ASP.NET. Daniel Laco Carlos Walzer. 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

emelda
Download Presentation

Programación de aplicaciones con ASP.NET

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 (100-200)

  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. Modelo Cliente DAAB ExecuteNonQuery ExecuteDataset ExecuteReader ExecuteScalar ExecuteXmlReader SqlHelper CacheParameterSet GetCachedParameterSet GetSpParamterSet SqlHelperParameterCache SQL Sentencia SQL o Proc. Almacenado int Dataset SqlDataReader object XmlReader SqlParameter Array

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

  10. 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) Server Cliente Web 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 • POST • Page.IsPostBack • ViewState • 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. 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. 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 ASP.NET Page ASP.NET Service HTTP Handler Application Http Context HTTP Module HTTP Module Global.asax Código .NET ASP.NET Runtime Código Nativo Host (IIS)

  23. 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 Eventos por Request

  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:www.microsoft.com/spain/msdn/articulos/archivo/261001/voices/authaspdotnet.asp • Seguridad .NET en MSDN:msdn.microsoft.com/library/default.asp?url=/nhp/Default.asp?contentid=28001369

  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: www.gotdotnet.com • ASP.NET: www.asp.net • WebControls: msdn.microsoft.com/library/default.asp?url=/workshop/webcontrols/ webcontrols_entry.asp

  36. 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 www.microsoft.com/spanish/msdn/noticias/default.asp

  37. ¿Preguntas? Por favor, completar elformulario 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 www.microsoft.com/argentina/msdn

  38. Muchas gracias por tu participación! Daniel Laco daniell@vemn.com.ar Carlos Walzer carlosw@vemn.com.ar

  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.®

More Related