entorno de programacion

60
UNIDAD 2. ENTORNO DE PROGRAMACIÓN DESARROLLO DE APLICACIONES WEB

Upload: jose-hernandez-landa

Post on 13-Jun-2015

253 views

Category:

Engineering


4 download

DESCRIPTION

Desarrollo de Aplicaciones Web (DAW) Unidad 2

TRANSCRIPT

Page 1: Entorno de Programacion

UNIDAD 2. ENTORNO DE PROGRAMACIÓN

DESARROLLO DE APLICACIONES WEB

Page 2: Entorno de Programacion

UNIDAD 2. ENTORNO DE PROGRAMACIÓN

2.1. Estructura de un programa Web. 2.2. Lenguajes de scripts.

2.2.1. Estructuras de control.

2.2.2. Arreglos.

2.3. Manipulación de formularios HTML mediante un lenguaje de programación Web.

2.4. Acceso a Bases de Datos. 2.4.1. Conexiones.

2.4.2. Manipulación y presentación de datos.

2.5. Seguridad en una aplicación web.

Page 3: Entorno de Programacion

2.1 ESTRUCTURA DE UN PROGRAMA WEB

Directivas

Piense en directivas o etiquetas como hablar con el browser, o sea es la manera de darle instrucciones.

Abajo se dan los siguientes ejemplos de directivas:

<HTML></HTML>

La primera directiva es de inicio y la siguiente es una directiva del cierre.

Para hacer una directiva de cierre, simplemente agregan un signo / a la directiva de inicio.

La mayoría de directivas, pero no todas tienen una directiva del cierre.Las directivas o comandos se pueden realizar en mayúsculas o minúsculas.

Page 4: Entorno de Programacion

Estructura básica de una pagina web

<html><head>

<title> Titulo de la página</title>

</head><body></body>

</html>

Page 5: Entorno de Programacion

Directiva <HTML>

Indica a la computadora que se trata de un programa HTLM.

Todo programa HTML tiene dos partes El encabezado especificado por la directiva <HEAD> y el cuerpo indicado por la directiva <BODY>

Directiva <HEAD>

Dentro se colocan las directivas para proporcionar información de la página a los buscadores robóticos de Internet y otras directivas como <TITLE>, <META>, <SCRIPT> y <STYLE> que a continuación se describen:

Directiva <TITLE>

Enseña el nombre de la página que se muestra en la barra de título del navegador (Browser) y no el nombre con que se guarda el archivo.

<TITLE>Titulo de la página</TITLE>

Estructura básica de una pagina web

Page 6: Entorno de Programacion

Directiva <META>

Proporciona información para que los programas de búsqueda (como google.com, yahoo.com, altavista.com) encuentren nuestra página.

Directiva <SCRIPT>

Es empleada cuando agregamos programas con el lenguaje JAVA SCRIP, para incluir efectos visuales en la página y acciones.

Ejemplo: Las instrucciones descritas abajo, cambian el texto de los enlaces a rojo al pasar el Mouse sobre ello.

<style>

    <!--a:hover{color:RED; font-weight:; }-->

</style>

Estructura básica de una pagina web

Page 7: Entorno de Programacion

Directiva <STYLE>

Se utiliza para colocar Hojas de Estilo en Cascada (CSS),

Ejemplo: Las instrucciones descritas abajo, indican los atributos y características de la fuente de los textos de una página

<STYLE>

    P {font-family:Arial; font-size:12pt; color:red; background-color:lime}

</STYLE>

Estructura básica de una pagina web

Page 8: Entorno de Programacion

ESTRUCTURA DE UN SITIO WEB

Un sitio web (en inglés:website) es un conjunto de páginas html relacionadas entre sí por hiperenlaces, gestionadas por una única entidad o persona, accesibles desde Internet a partir de una dirección URL de su página índice (index) y con una unidad de contenido y de estilo gráfico. Incluye textos, imágenes, archivos de audio, vídeo y enlaces a otros sitios web.

Normalmente no se diseña una página web aislada sino más bien un sitio completo donde a partir de una página principal o índice se enlazan el resto de páginas.

Page 9: Entorno de Programacion

La estructura de archivos y carpetas

Antes de iniciar el diseño de un sitio web es necesario preparar su estructura de carpetas y archivos. Cuando el número de ficheros es considerable, resulta muy útil ubicarlos en carpetas para facilitar su localización y edición. Existen múltiples posibilidades de organizar el sistema de ficheros.

Con carácter general se proponen un modelo basado en la organización por tipos de archivos.

Las páginas HTML se guardarán en el directorio o carpeta principal mientras que los elementos que utilizan (audios, vídeos, hojas de estilo, imágenes, etc) se situarán en las subcarpetas correspondientes.

Page 10: Entorno de Programacion

Los nombres de carpetas y archivos

Con intención de evitar errores es interesante respetar las siguientes normas cuando se asigna nombre a carpetas o archivos:

1. El nombre asignado estará formado por caracteres alfanuméricos: a-z y 0-9

2. No debe contener caracteres no alfanuméricos, signos de puntuación, espacios en blanco, caracteres acentuados, eñes, etc.

3. Los únicos caracteres no alfanuméricos permitidos son el subrayado _ y el guión –

4. No debe superar los 20 caracteres.

5. Utilizar siempre letras minúsculas aunque se admitan mayúsculas. Hay servidores que distinguen entre mayúsculas y minúsculas. Esto significa que la página INDEX.html no es la misma que la página index.html.

6. Para las páginas HTML utilizar siempre la extensión: *.html aunque se admita la *.htm.

7. Reserva el nombre index.html para la página que deseamos se muestre por defecto cuando el usuario navega hasta la carpeta sin indicar un archivo html concreto.

Page 11: Entorno de Programacion

La estructura de navegación

La estructura de navegación por un sitio web viene definida por la experiencia de navegación del visitante en virtud de la cual puede saltar de una página a otra dentro del sitio web utilizando el sistema de hipervínculos.

La estructura de navegación se suele elegir en función del tipo de contenido.

Existen distintos tipos de estructuras:

Page 12: Entorno de Programacion

La estructura de navegación

Jerárquica.

Estructura en árbol donde existe una página índice o principal desde donde se accede al resto de páginas. Desde estas subpáginas se puede acceder a otras y así sucesivamente creando distintos niveles o jerarquías. Es ideal para sitios web de centros o proyectos.

No se aconseja utilizar más de 4 niveles para evitar que el usuario se desoriente durante la navegación. Conviene situar en todas las páginas un menú que permita moverse de una forma fácil y directa por los distintos niveles y páginas de cada nivel.

Page 13: Entorno de Programacion

Lineal.

Es una estructura muy simple similar a las páginas de un libro. Desde una página concreta se puede ir a la página siguiente o la página anterior. Es especialmente útil si deseamos que el usuario siga un itinerario fijo y guiado sin posibilidad de acceder a otras páginas que pudieran distraerle.

Ejemplo: Guía o tutorial de aprendizaje. No es recomendable si el número de páginas encadenadas es muy elevado porque produce sensación de fatiga y no permite retomar fácilmente la secuencia allí donde se abandonó en la última sesión.

La estructura de navegación

Page 14: Entorno de Programacion

Lineal con jerarquía.

Es una estructura híbrida que trata de aprovechar las ventajas de las dos estructuras anteriores.

Las páginas y subpáginas se organizan de forma jerárquica pero también es posible navegar de forma lineal por las páginas de un mismo nivel. Los contenidos web de este curso utilizan esta estructura.

La estructura de navegación

Page 15: Entorno de Programacion

Red.

A partir de la página índice o principal se puede navegar a otra u otras sin ningún orden aparente.

Es una estructura más libre pero no es aconsejable cuando el número de páginas es elevado porque desorienta al usuario al no saber dónde está ni disponer de recursos para ir donde desea.

La estructura de navegación

Page 16: Entorno de Programacion

2.2. Lenguajes de scripts

JavaScript es un lenguaje de programación creado por Netscape con el objetivo de integrarse a HTML y facilitar la creación de páginas interactivas sin necesidad de utilizar scripts de CGI o Java.

En 1997 los autores propusieron JavaScript para que fuera adoptado como estándar de la ECMA(European Computer Manufacturers Association) y en junio de 1997 fue adoptado como un estándar ECMA, con el nombre de ECMAScript. Poco después también como un estándar ISO.

JavaScript es un lenguaje que funciona como extensión del HTML. Es un lenguaje de programación orientado a objetos, diseñado para el desarrollo de aplicaciones cliente-servidor través de internet.

Page 17: Entorno de Programacion

2.2. Lenguajes de scripts

El código de programa de JavaScript, llamado script, se introduce directamente en el código HTML y no necesita ser compilado, es el propio navegador el que se encarga de traducir dicho código.

Gracias a JavaScript se pueden desarrollar programas que se ejecuten directamente en el navegador (cliente) de manera que este pueda efectuar determinadas operaciones o tomar decisiones sin necesidad de acceder al servidor.

Sabemos que un programa en JavaScript no debe ser compilado, ya que el navegador se encarga de leerlo cuando se carga la página, pero esto no quiere decir que todos los códigos JavaScript se ejecuten nada más cargarse el documento HTML, algunas funciones permanecen en estado latente hasta que el usuario realiza una acción determinada, como podría ser pulsar un enlace.

Page 18: Entorno de Programacion

JavaScript y HTML

Las diferencias de los tipos de documentos XHTML son muy importantes a la hora de escribir código JavaScript.

El doctype HTML 1.0 Transitional es más flexible, por lo que la mayoría de sintaxis y definiciones de elementos HTML son compatibles.

El doctype HTML 1.0 Strict es más severo y nos v a obligar a realizar algunos cambios en la definición de los scripts.

Es importante validar todos los documentos antes de subirlos al servidor con la finalidad de detectar y corregir los errores de compatibilidad a tiempo. No importa el tipo de doctype, sino que cumpla al 100% con las reglas de validación del doctype especificado al inicio del documento.

Page 19: Entorno de Programacion

Definición script

Una vez definido el tipo de documento, debemos diferenciar dentro del mismo lo que es JavaScript del resto del documento, para ello se dispone de las etiquetas:

De inicio: <script lenguaje=“JavaScript” type=“text/javascript”>

El atributo lenguaje indica el tipo de lenguaje script utilizado, si se omite el navegador asumirá que es javascript.

Final </script>

Page 20: Entorno de Programacion

Llaves o corchetes: Se utilizan para definir fragmentos de código de manera que estos no se junten con el resto del programa.

Punto y coma: Separa sentencias que se encuentran en una misma línea o indicar el final de una sentencia que ocupa muchas líneas.

Ficheros fuente: Se puede manejar un script externo mediante el atributo scr aplicado a la etiqueta script.

El script debe estar en un archivo de texto sin las etiquetas de comienzo y final del mismo <script> y </script>. Además, este deberá tener la extensión *.js.

Definición script

Page 21: Entorno de Programacion

Variables

Para declarar una variable en JavaScript se debe utilizar la palabra clave var seguida del nombre de la variable, no siendo necesario declarar el tipo.

El nombre de una variable: El primer carácter siempre debe ser una letra, el guion de subrayado(_)

o el símbolo $, los siguientes caracteres pueden ser letras, números o el guion de subrayado pero sin dejar espacios entre ellos.

No pueden utilizar nombres de palabras reservadas. Diferencia entre mayúsculas y minúsculas.

Definición script

Page 22: Entorno de Programacion

JavaScript decide el tipo de variable que deberá emplear durante la ejecución del script. De cadena

Numéricas

Booleanas

Undefined: variables creadas pero sin valor asignado.

Nulos.

Contantes: Sin variables que no cambian, es decir siempre tienen el mismo valor. Para indicar que se trata de una constante se debe anteponer la sentencia const al nombre de la variable. No cambia de valor y no puede ser redefinida en un mismo script.

Definición script

Page 23: Entorno de Programacion

2.2.1 Estructuras de control

Permiten que JavaScript tome decisiones comparando variables. JavaScript dispone de los siguientes comandos:

If For While Do while Switch

Page 24: Entorno de Programacion

2.2.1 Estructuras de control

La Sentencia if

El comando if se emplea cuando es necesario ejecutar un fragmento de código que depende de los valores de determinadas variables. Es una estructura de control utilizada para tomar decisiones, un condicional que realiza determinadas operaciones en función del resultado de una expresión.

Page 25: Entorno de Programacion

La estructura if tiene la siguiente sintaxis:

If (condición) // siempre se indica la condición entre paréntesis

{

Código del programa en caso de que la condición sea verdadera

}

2.2.1 Estructuras de control

Page 26: Entorno de Programacion

La estructura if-else tiene la siguiente sintaxis:

if (condición){

código del programa en caso de que la sentencia sea verdadera}else{

código del programa en caso de que no se cumpla la condición.}

2.2.1 Estructuras de control

Page 27: Entorno de Programacion

Un bucle for permite repetir un bloque de código dependiendo de unas condiciones concretas que siempre han de ser verdaderas. Un bucle for tiene tres partes:

1. Inicialización

2. Condición

3. Ejecución y actualización

for

2.2.1 Estructuras de control

Page 28: Entorno de Programacion

for (variable in objeto)

{ sentencias }

for

for (valor inicial; condición; actualización)

{ instrucciones a ejecutar en el bucle }

For … in

2.2.1 Estructuras de control

Page 29: Entorno de Programacion

Ejecuta de manera constante una determinada secuencia de código siempre que se cumpla una condición. También puede ejecutar una secuencia un determinado numero de veces. Cuando la condición es falsa, el bucle se detiene.

while

2.2.1 Estructuras de control

while (condición)

{

Instrucciones a ejecutar con el bucle

}

Page 30: Entorno de Programacion

Su misión es colocar una expresión condicional después de las instrucciones que deben ejecutarse, de esta manera, seguro que las instrucciones del bucle son ejecutadas por lo menos una vez independientemente que la condición sea verdadera o falsa.

Do while

do

{

código a ejecutar

}

while (condición);

2.2.1 Estructuras de control

Page 31: Entorno de Programacion

Evalúa una expresión y la compara con cada una de las etiquetas asociadas . Cuando encuentra una igualdad el programa evalúa la expresión asociada a dicha etiqueta. Esta expresión se utiliza cuando tenemos múltiples posibilidades como resultado de la evaluación de una etiqueta.

switchswitch (expresión){

case valor1:

código a ejecutar;

break;

case valor2:

código a ejecutar;

break;

….

default: código a ejecutar;}

2.2.1 Estructuras de control

Page 32: Entorno de Programacion

2.2.2 Arreglos.

Una matriz es un conjunto de datos de un mismo tipo identificados por un índice.

En JavaScript para definir una matriz se utiliza el objeto Array().

asignaturas= new Array();

asignaturas[0]=“Literatura”

asignaturas[1]=“Dibujo”

asignaturas[2]=“Lenguaje”

asignaturas = new Array(“Literatura”,”Dibujo”,”Lenguaje”);

Page 33: Entorno de Programacion

2.3. Manipulación de formularios HTMLmediante un lenguaje de programación Web.

ASP.NET es el nombre con el que se conoce la parte de la plataforma .NET que permite el desarrollo y ejecución tanto de aplicaciones web como de servicios web.

Igual que sucedía en ASP, ASP.NET se ejecuta en el servidor. En ASP.NET, no obstante, las aplicaciones web se suelen desarrollar utilizando formularios web, que están diseñados para hacer la creación de aplicaciones web de forma sencilla.

Page 34: Entorno de Programacion

La programación en ASP.NET está basada en el uso de controles y eventos.

Las páginas ASP.NET, en vez de aceptar datos de entrada y generar su salida en HTML como sucede en ASP, implementan su funcionalidad en fragmentos de código que se ejecutan como respuesta a eventos asociados a los controles de la interfaz con los que puede interactuar el usuario. Esta forma de funcionar le proporciona a ASP.NET un mayor nivel de abstracción, requiere menos código y permite crear aplicaciones más modulares, legibles y mantenibles.

2.3. Manipulación de formularios HTMLmediante un lenguaje de programación Web.

Page 35: Entorno de Programacion
Page 36: Entorno de Programacion
Page 37: Entorno de Programacion

APLICACIONES BASADAS EN WEB

Son aplicaciones multinivel (aplicaciones de n niveles) Las aplicaciones multinivel dividen su funcionalidad en niveles

separados. Aunque los niveles pueden ubicarse en la misma computadora, por

lo general los niveles de las aplicaciones basadas en web residen en computadoras separadas.

Page 38: Entorno de Programacion

XHTMLExplorador

Nivel SuperiorInterfaz de Usuario

Cliente

Nivel IntermedioLógica Comercial

ASP.NET

ADO.NET

Nivel InferiorDatos

Información

APLICACIONES BASADAS EN WEB

Page 39: Entorno de Programacion

Nive

l Inferior

Mantiene los datos pertenecientes a la aplicación.Por lo común, almacena los datos en un sistema de administración de base de datos relacionales.Puede contener varias bases de datos, que en conjunto conforman los datos necesarios para nuestra aplicación.

Nive

l Inter

medio

Implementa la lógica comercial, de control y de presentación para controlar las interacciones entre los clientes de la aplicación y los datos de la misma.

Nive

l Su

perior

Es la interfaz de usuario de la aplicación, la cual recopila los datos de entrada y visualiza los resultados.Interactúa con el nivel intermedio para realizar peticiones y para recuperar datos del nivel de información.

Nivel de información

Nivel ClienteNivel Intermedio

APLICACIONES BASADAS EN WEB

Page 40: Entorno de Programacion

Nivel Intermedio

Lógica comercial

• Hace vales las reglas comerciales que dictan la forma en que los clientes pueden o no tener acceso a los datos y como se procesan.

Lógica de control

• Procesa las peticiones de los clientes.

• Recupera datos de la BD.

Lógica de presentación

• Procesa los datos del nivel de información y presenta el contenido al cliente.

Page 41: Entorno de Programacion

2.4. Acceso a Bases de Datos.

Una base de datos es una colección de datos y un conjunto de programas para acceder a los mismos. Los datos están clasificados y estructurados y son guardados en uno varios ficheros.

Para crear y manipular bases de datos relacionales existen en el mercado varios sistemas administradores de base de datos; por ejemplo: SQL Server, Access, Oracle y DB2. Otros sistemas administradores de base de datos de interés y de libre distribución son PostgreSQL y MSQL.

Page 42: Entorno de Programacion

Muchas de las aplicaciones trabajan con base de datos.

Por esta razón, Microsoft decidió crear una tecnología de acceso a datos potente y fácil de utilizar: ADO.NET.

ASP.NET le proporciona flexibilidad a la hora de conectarse a las bases

de datos. utilizar controles de origen de datos, que permiten encapsular el acceso a los datos en un control que se puede configurar con información sobre la

conexión y la consulta. Escribir su propio

código para realizar el acceso a los datos mediante clases de

ADO.NET o consultas LINQ.

2.4. Acceso a Bases de Datos.

Page 43: Entorno de Programacion

Componentes ADO.NET

ADO.NET es un conjunto de clases, pertenecientes al espacio de nombres System.Data, para el acceso a los datos de un origen de datos.

Proporciona un conjunto de componentes para crear aplicaciones distribuidas de uso compartido de datos. Dichos componentes están diseñados para separa el acceso a los datos de la manipulación de los mismos y son: DataSet y el Proveedor de datos de .NET Framework, que es un conjunto de

componentes entre los que se incluyen los objetos de conexión (Connection), de órdenes (Command), lector de datos(DataReader) y adaptador de datos (DataAdapter).

Page 44: Entorno de Programacion

Capa de Presentación

Capa de DatosCapa de Lógica de Negocio

Formulario Windows

Conjunto de datos

Origen de datos

Adaptador de datos

Conexión de datos

Adaptador de datos

Conexión de datos

Mi Aplicación

Page 45: Entorno de Programacion

Componentes ADO.NET

El trabajo de conexión con la base de datos o la ejecución de una sentencia SQL determinada para recuperar datos de la base de datos los realiza el proveedor de acceso a datos.

Y recuperar esos datos para tratarlos , manipularlos o volcarlos a un determinado control o dispositivo es una acción ejecutada por una capa superior formada por un conjunto de datos agrupados en tablas.

Page 46: Entorno de Programacion

System.Data

Conjunto de datos

Proveedor de Acceso a Datos

Base de Datos

ASP.NET: servicios web y formularios web

Formularios Windows

Componentes ADO.NET

Page 47: Entorno de Programacion

2.4.1. Conexiones.

Para establecer una conexión con un origen de datos , ADO.NET proporciona el objeto Connection. Por ejemplo, para establecer una conexión a Microsoft SQL Server utilizaremos el objeto SqlConnection.

La función de un objeto conexión es presentar atributos y métodos para permitir establecer y modificar las propiedades de la conexión (ejemplo, el identificador de usuario y la contraseña, entre otras).

En el ejemplo siguiente se muestra como crear una conexión:

SqlConnection conexión= new SqlConnection(strConexion);

El argumento StrConexion hace referencia a la cadena de conexión. La cadena de conexión esta compuesta por una serie de elementos nombre/valor separados por punto y coma. El orden de estos elementos no es importante. En conjunto especifican la información básica necesaria para crear una conexión.

Page 48: Entorno de Programacion

Aunque las cadenas de conexión varían según el proveedor de SGBD que se este utilizando, algunos elementos, como los citados a continuación, son casi siempre requeridos:

El servidor donde se encuentra la base de datos

La base de datos a utilizar

La autenticación

Por ejemplo, la cadena de conexión siguiente se utiliza para conectarse a una base de datos Sql Server denominada bd_telefonos en el equipo actual utilizando la seguridad integrada (se utiliza el usuario actual de Windows para acceder a la BD):

StrConexion=“Data Source=.\\sqlexpress;”+”Initial Catalog=bd_telefonos; User name=*****; Password=*****”;

2.4.1. Conexiones.

Page 49: Entorno de Programacion

Modos de conexión

La acción más pesada cuando realizamos un acceso a una base de datos se encuentra en la conexión con la base de datos. Esa tarea tan simple es la que mas recursos del sistema consume. Por ello, es bueno tener presente las siguiente recomendaciones:

La conexión debe realizarse, siempre que se pueda, con los proveedores de acceso a datos nativos, simplemente por que son más rápidos que los proveedores del tipo OLE DB Y ODBC.

La conexión debe abrirse lo más tarde posible. Es recomendable definir todas las variables que podamos antes de realizar la conexión.

La conexión debe cerrarse lo antes posible, siempre y cuando no tengan necesidad de utilizarla posteriormente.

Page 50: Entorno de Programacion

Hay 2 formas de trabajar con los datos de la base de datos:

Conectado a la base de datos

Desconectado

DATA ADAPTER

BASE DE DATOS

CONNECTION

COMMAND

DATA READER

DATA SET

APLICACION

Modos de conexión

Page 51: Entorno de Programacion

2.4.2. Manipulación y presentación de datos.

Presentación de datos en distintos controles por medio de paginas asp.net

Page 52: Entorno de Programacion

2.5. Seguridad en una aplicación web.

ASP.NET proporciona una infraestructura de seguridad para autenticar y autorizar el acceso de los usuarios, así como para realizar otras tareas relacionadas con la seguridad.

Puede autenticar los usuarios mediante la autenticación de Windows que proporciona IIS.

También puede administrar la autenticación mediante la autenticación de formularios de ASP.NET y la pertenencia de ASP.NET.

Además, puede administrar la autorización para el acceso a los recursos de la aplicación web mediante grupos de Windows o bien mediante el uso de una base de datos de funciones personalizada y las funciones de ASP.NET.

Resulta fácil quitar, agregar o reemplazar estos esquemas dependiendo de las necesidades de la aplicación.

Page 53: Entorno de Programacion

ASP.NET funciona junto con Microsoft .NET Framework y Servicios de Microsoft Internet Information Server (IIS) para ayudar a proporcionar aplicaciones Web seguras. Para ayudar a proteger la seguridad de una aplicación ASP.NET, se deben llevar a cabo las dos funciones principales que se describen en la siguiente tabla.

Función de seguridad Descripción

Autenticación

Ayuda a comprobar que el usuario es precisamente quien dice ser. La aplicación obtiene las credenciales (diversas formas de identificación, como nombre y contraseña) de un usuario, y las valida consultando a una autoridad determinada. Si las credenciales son válidas, se considera a la entidad que ha enviado las credenciales como una entidad autenticada.

Autorización Limita los derechos de acceso mediante la concesión o negación de permisos específicos a una identidad autenticada.

2.5. Seguridad en una aplicación web.

Page 54: Entorno de Programacion

Administrar usuarios mediante suscripciones

La suscripción de ASP.NET proporciona un servicio integrado para validar y almacenar las credenciales del usuario. La suscripción de ASP.NET facilita, por tanto, la tarea de administrar la autenticación del usuario en los sitios Web. Puede utilizar la suscripción de ASP.NET con la autenticación de formularios de ASP.NET o con los controles de inicio de sesión de ASP.NET para crear un sistema completo de autenticación de usuarios.

La suscripción de ASP.NET es compatible con los servicios para: Crear nuevos usuarios y contraseñas. Almacenar la información de la suscripción (nombres de usuario,

contraseñas y datos complementarios) en Microsoft SQL Server, Active Directory o un almacén de datos alternativo.

Page 55: Entorno de Programacion

Autenticar a los usuarios que visitan el sitio. Puede autenticar los usuarios mediante programación, o puede utilizar los controles de inicio de sesión de ASP.NET para crear un sistema de autenticación completo sin apenas escribir código o sin utilizar código alguno.

Administrar las contraseñas, es decir, crearlas, modificarlas y restablecerlas. En función de las opciones de suscripción que elija, el sistema de suscripciones también puede proporcionar un sistema de restablecimiento de contraseñas automatizado que utilice una pregunta y una respuesta proporcionadas por el usuario.

Utilizar una única identificación para los usuarios autenticados que podrá utilizar en sus propias aplicaciones y que se integre también los sistemas de personalización de ASP.NET y de administración de funciones (autorización).

Especificar un proveedor de suscripciones personalizado que permita sustituir el código propio para administrar la suscripción y mantener los datos de la suscripción en un almacén de datos personalizado

Page 56: Entorno de Programacion

Administrar autorizaciones con funciones

La administración de funciones facilita la administración de la autorización, ya que permite especificar qué usuarios de la aplicación podrán obtener acceso a los recursos. La administración de funciones permite tratar los grupos de usuarios como si fueran una unidad mediante la asignación de usuarios a funciones, como administrador, ventas, pertenencia, etc. En Windows, puede crear funciones asignando usuarios a grupos, como Administradores, Usuarios avanzados, etc.

Tras definir las funciones, puede crear reglas de acceso en la aplicación. Por ejemplo, un sitio podría contener un conjunto de páginas que sólo desea mostrar a los miembros. De igual forma, quizás desee mostrar u ocultar una parte de una página en función de si el usuario actual es un administrador. Mediante las funciones, puede establecer estos tipos de reglas sin tener en cuenta a los usuarios individuales de la aplicación. Por ejemplo, no tiene que conceder acceso a cada miembro individual del sitio para que puedan consultar páginas destinadas únicamente a los miembros; en su lugar, puede conceder acceso a la función de miembro y después agregar y quitar los usuarios de esa función cuando éstos se suscriban o prescriba su suscripción como miembros.

Page 57: Entorno de Programacion

Administrar autorizaciones con funciones

Los usuarios pueden pertenecer a varias funciones. Por ejemplo, si el sitio es un foro de discusión, algunos usuarios podrían pertenecer tanto a la función de miembro como a la función de moderador. Puede definir cada función para que tenga privilegios diferentes en el sitio. De este modo, un usuario que pertenezca a ambas funciones tendrá los dos conjuntos de privilegios.Aunque su aplicación tenga pocos usuarios, puede ser útil la creación de funciones. Las funciones proporcionan flexibilidad para cambiar permisos, así como agregar y quitar usuarios sin tener que realizar cambios en todo el sitio. A medida que se van definiendo más reglas de acceso para la aplicación, las funciones son un modo más conveniente de aplicar los cambios a los grupos de usuarios.

Page 58: Entorno de Programacion

Funciones y reglas de acceso

La finalidad principal al establecer funciones es proporcionar un modo sencillo de administrar las reglas de acceso de los grupos de usuarios. Cree los usuarios y, a continuación, asígneles funciones (en Windows, a los grupos). Lo normal es crear un conjunto de páginas cuyo acceso desea restringir a algunos usuarios. Para ello, lo más frecuente es aislar estas páginas restringidas en una carpeta.

Page 59: Entorno de Programacion

Puede utilizar la herramienta Administración de sitios Web para definir reglas que concedan o denieguen el acceso a las carpetas restringidas.

Por ejemplo, puede configurar el sitio para que los miembros o los administradores tengan acceso a las páginas de la carpeta restringida, y denegar el acceso a los demás usuarios. Si un usuario sin autorización intenta ver una página restringida, el usuario ve un mensaje de error o se le redirige a la página especificada.

Funciones y reglas de acceso

Page 60: Entorno de Programacion

Proveedor de autenticación mediante formularios

La autenticación de formularios permite autenticar el nombre de usuario y la contraseña de los usuarios mediante un formulario de inicio de sesión que haya creado.

Las solicitudes no autenticadas se redirigen a una página de inicio de sesión, en la que el usuario proporciona las credenciales y envía el formulario. Si la aplicación autentica la solicitud, el sistema emite un vale que contiene una clave con el fin de restablecer la identidad para posteriores solicitudes.