1 / 38

Componentes de ASP.NET

Componentes de ASP.NET. Leonardo Diez Dolinski Servicios Profesionales Danysoft. Orden del día. Funcionamiento interno Configuración Seguridad Manejo de estado. Enviar. Generación de una página .aspx. < HTML > < HEAD > < TITLE > Mi página </ TITLE > </ HEAD > < BODY >

quant
Download Presentation

Componentes de 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. Componentes deASP.NET Leonardo Diez Dolinski Servicios Profesionales Danysoft

  2. Ordendeldía • Funcionamiento interno • Configuración • Seguridad • Manejo de estado

  3. Enviar Generación de una página .aspx <HTML> <HEAD> <TITLE>Mi página</TITLE> </HEAD> <BODY> <FORMrunat="server"id="WebForm1"> <INPUTtype="text"id="nombre"runat="server"> <asp:TextBoxid="apellidos"runat="server"></asp:TextBox> <asp:Buttonid="enviar" Text="enviar" runat="server"></asp:Button> </FORM> </BODY> </HTML>

  4. <HTML> <HEAD> <TITLE>Mi página</TITLE> </HEAD> <BODY> <FORMrunat="server"id="WebForm1"> <INPUTtype="text"id="nombre"runat="server"> <asp:TextBoxid="apellidos"runat="server"></asp:TextBox> <asp:Buttonid="enviar"runat="server"></asp:Button> </FORM> </BODY> </HTML> Generación de una página .aspx Objeto página <HTML> <HEAD> <TITLE>Mi página</TITLE> </HEAD> <BODY> <FORM runat="server" id="WebForm1"> <INPUT type="text" id="nombre" runat="server"> <asp:TextBox id="apellidos" runat="server"></asp:TextBox> <asp:Button id="enviar" runat="server"></asp:Button> </FORM> </BODY> </HTML> Controls HtmlGeneric HtmlForm HtmlInput TextBox Button HtmlGeneric

  5. Generación de una página .aspx Objeto página <HTML> <HEAD> <TITLE>Mi página</TITLE> </HEAD> <BODY> Controls HtmlGeneric HtmlForm <FORM action="...> </FORM> HtmlInput <INPUTtype="text" name="nombre"...> TextBox <INPUTtype="text" name="apellidos"...> Button <INPUTtype="button" name="enviar"...> HtmlGeneric </BODY> </HTML>

  6. Objeto página Controls HtmlGeneric HtmlForm HtmlInput nombre.Text = "Leonardo" enviar TextBox apellidos.Text = "Diez" Button HtmlGeneric PostBack e POST WebForm1.aspx nombre=Leonardo apellidos=Diez ... Leonardo Diez

  7. ENCODE ViewState ... apellidos.BackColor = Color.Blue ... <FORM action="...> <INPUTtype="hidden“ name="__ViewState“ value=“4fwe..."> ... ... </FORM> Objeto página Controls HtmlForm HtmlGeneric HtmlInput TextBox HtmlGeneric Button

  8. Objeto página Controls HtmlGeneric HtmlForm HtmlInput TextBox DECODE HtmlGeneric ViewState e POST WebForm1.aspx ... __ViewState=4fwe... ... Leonardo apellidos.BackColor = Color.Blue Diez enviar

  9. Objeto página Controls HtmlGeneric HtmlForm HtmlInput enviar TextBox Button enviar.click HtmlGeneric Eventos e POST WebForm1.aspx ... enviar=enviar Leonardo Diez

  10. Ordendeldí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.NET) • 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 • <customErrors mode="On"> <error statusCode="404" redirect="errorpage404.aspx" /></customErrors> • <customErrors mode="RemoteOnly"> <error statusCode="404" redirect="errorpage404.aspx" /></customErrors>

  15. Configuración personalizada • Es posible añadir valores de configuración específicos de la aplicación al fichero de configuración • <configuration> <appSettings> <add key="Conexion" value="…" /> </appSettings></configuration> • 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 <location> • <configuration> <system.web> ... </system.web> <location path=“/admin”> <system.web> <security> <authorization> <allow roles=“Admins”> </authorization> </security> </system.web> </location></configuration>

  17. Ordendeldí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 • <security> <authentication mode="Windows" /></security>

  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 • <authentication mode="Forms"> <forms loginUrl=“Login.aspx“ /></authentication> • 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 • <credentials passwordFormat="clear"> <user name="MSDN" password="online" /> <user name="Guest" password="guest" /></credentials> • Método FormAuthentication.Authenticate • Método FormAuthentication.HashPasswordForStoringInConfigFile

  26. Autorización • Determina si el usuario autenticado tiene permisos para acceder a un recurso • Se especifica en el fichero de configuración • <authorization> <allow users="usuarios separados por comas" roles="roles separados por comas" verbs="verbos separados por comas" /> <deny users="usuarios separados por comas" roles="roles separados por comas" verbs="verbos separados por comas/></authorization> • 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 • <identity impersonate="true" /> • Independiente del modo de autenticación • <identity impersonate="true" name=“usuario" password="password" />

  28. Demo Implementación de la seguridad

  29. Ordendeldí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 • <sessionState mode=“Off|InProc|StateServer|SQLServer” cookieless=“false” timeout=“20” sqlConnectionString=“data source=127.0.0.1; user id=sa;password=sa” stateConnectionString="tcpip=127.0.0.1:42424" />

  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. Paraobtenermásinformación • eRevista Danysoft • Webs Danysoft • Area Formación yS.Profesionales • DVD Danysoft • Libros Danypress • info@danysoft.com

  38. Gracias por su asistencia

More Related