componentes de asp net n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Componentes de ASP.NET PowerPoint Presentation
Download Presentation
Componentes de ASP.NET

Loading in 2 Seconds...

play fullscreen
1 / 38

Componentes de ASP.NET - PowerPoint PPT Presentation


  • 124 Views
  • Uploaded on

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 >

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Componentes de ASP.NET' - quant


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
componentes de asp net

Componentes deASP.NET

Leonardo Diez Dolinski

Servicios Profesionales

Danysoft

orden del d a
Ordendeldía
  • Funcionamiento interno
  • Configuración
  • Seguridad
  • Manejo de estado
generaci n de una p gina aspx

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>

generaci n de una p gina aspx1

<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

generaci n de una p gina aspx2
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>

postback

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

viewstate

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

viewstate1

Objeto página

Controls

HtmlGeneric

HtmlForm

HtmlInput

TextBox

DECODE

HtmlGeneric

ViewState

e

POST WebForm1.aspx

...

__ViewState=4fwe...

...

Leonardo

apellidos.BackColor = Color.Blue

Diez

enviar

eventos

Objeto página

Controls

HtmlGeneric

HtmlForm

HtmlInput

enviar

TextBox

Button

enviar.click

HtmlGeneric

Eventos

e

POST WebForm1.aspx

...

enviar=enviar

Leonardo

Diez

orden del d a1
Ordendeldía
  • Funcionamiento interno
  • Configuración
  • Seguridad
  • Manejo de estado
configuraci n
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
configuraci n de m quina
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
configuraci n de aplicaciones web
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
p ginas de errores
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>
configuraci n personalizada
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")
configuraci n especial
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>
orden del d a2
Ordendeldía
  • Funcionamiento interno
  • Configuración
  • Seguridad
  • Manejo de estado
elementos de seguridad
Elementos de seguridad
  • Autenticación
  • Autorización
  • Impersonación
autenticaci n
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
autenticaci n de windows
Autenticación de Windows
  • Se habilita para ASP.NET a través del fichero de configuración
  • <security> <authentication mode="Windows" /></security>
autenticaci n de windows1
Autenticación de Windows
  • Se configura a través de la consola de administración de Servicios de Internet Information Server
autenticaci n de windows2
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”)) ...
autenticaci n de formularios
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
autenticaci n de formularios1
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
autenticaci n de formularios2
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
autorizaci n
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
impersonaci n
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" />
slide28

Demo

Implementación de la seguridad

orden del d a3
Ordendeldía
  • Funcionamiento interno
  • Configuración
  • Seguridad
  • Manejo de estado
manejo de estado
Manejo de estado
  • Una aplicación web se ejecuta en un medio sin estado
  • Necesidad de tener una forma de “recordar” datos = mantener estado
estado de aplicaci n
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
estado de sesi n
Estado de sesión
  • Colección de valores accesibles desde cualquier página
  • Objeto Session
    • Una colección por usuario
    • Session["UserId"]
sesiones de asp net
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
sesiones de asp net1
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" />
sesiones de asp net2
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
para obtener m s informaci n
Paraobtenermásinformación
  • eRevista Danysoft
  • Webs Danysoft
  • Area Formación yS.Profesionales
  • DVD Danysoft
  • Libros Danypress
  • info@danysoft.com