Este documento presenta la unidad 2 de un curso sobre el desarrollo de aplicaciones web. La unidad cubre el entorno de programación e incluye secciones sobre la estructura de un programa web, lenguajes de scripts como JavaScript, manipulación de formularios HTML, acceso a bases de datos, y seguridad en aplicaciones web. También explica conceptos como estructuras de control, arreglos, y la sintaxis básica de JavaScript.
Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)Micael Gallego
Esta presentación corresponde al "Tema 2: Tecnologías de desarrollo web" de la asignatura "Desarrollo de Aplicaciones Web" de 3º del Grado en Ingeniería del Software de la ETSII en la Universidad Rey Juan Carlos.
Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)Micael Gallego
Esta presentación corresponde al "Tema 2: Tecnologías de desarrollo web" de la asignatura "Desarrollo de Aplicaciones Web" de 3º del Grado en Ingeniería del Software de la ETSII en la Universidad Rey Juan Carlos.
Java Database Connectivity (JDBC) es una interfase de acceso a bases de datos estándar SQL que proporciona un acceso uniforme a una gran variedad de bases de datos relacionales.
Java Database Connectivity (JDBC) es una interfase de acceso a bases de datos estándar SQL que proporciona un acceso uniforme a una gran variedad de bases de datos relacionales.
¿Qué es y cómo instalar un entorno de desarrollo de programación?Agencia La Nave
Conjunto de herramientas o programas que conforman una aplicación completa para la programación. Proveen de una interfaz amigable para el usuario y facilita el proceso integral de la programación.
¿Qué es Google Web Designer? Google Web Designer es la nueva aplicación lanzada por la compañía del más famoso buscador online que permite realizar piezas publicitarias web profesionales de manera fácil y sencilla.
Se presenta la estructura que lleva un proyecto, en mi caso proyecto de residencias, de acuerdo a mi criterio dicha estructura puede variar, pero les comparto esta plantilla que yo mismo hice, probablemente habrá quienes les pueda servir :3
Conceptos relacionados de acuerdo en el area de la simulacion como lo son: documentar la situacion, problema formal, sistema, objetivos, medidas de desempeño, grupo de decisiones
Se denomina motor de corriente alterna a aquellos motores eléctricos que funcionan con alimentación eléctrica en corriente alterna. Un motor es una máquina motriz, esto es, un aparato que convierte una forma determinada de energía en energía mecánica de rotación o par.
libro conabilidad financiera, 5ta edicion.pdfMiriamAquino27
LIBRO DE CONTABILIDAD FINANCIERA, ESTE TE AYUDARA PARA EL AVANCE DE TU CARRERA EN LA CONTABILIDAD FINANCIERA.
SI ERES INGENIERO EN GESTION ESTE LIBRO TE AYUDARA A COMPRENDER MEJOR EL FUNCIONAMIENTO DE LA CONTABLIDAD FINANCIERA, EN AREAS ADMINISTRATIVAS ENLA CARREARA DE INGENERIA EN GESTION EMPRESARIAL, ESTE LIBRO FUE UTILIZADO PARA ALUMNOS DE SEGUNDO SEMESTRE
1º Caso Practico Lubricacion Rodamiento Motor 10CVCarlosAroeira1
Caso pratico análise analise de vibrações em rolamento de HVAC para resolver problema de lubrificação apresentado durante a 1ª reuniao do Vibration Institute em Lisboa em 24 de maio de 2024
Convocatoria de becas de Caja Ingenieros 2024 para cursar el Máster oficial de Ingeniería de Telecomunicacion o el Máster oficial de Ingeniería Informática de la UOC
2. 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.
3. 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.
4. Estructura básica de una pagina web
<html>
<head>
<title> Titulo de la página</title>
</head>
<body>
</body>
</html>
5. 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
6. 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
7. 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
8. 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.
9. 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.
10. 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.
11. 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:
12. 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.
13. 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
14. 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
15. 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
16. 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.
17. 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.
18. 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.
19. 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>
20. 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
21. 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
22. 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
23. 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
24. 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.
25. 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
26. 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
27. 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
28. 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
29. 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
}
30. 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
31. 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.
switch
switch (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
32. 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”);
33. 2.3. Manipulación de formularios HTML
mediante 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.
34. 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 HTML
mediante un lenguaje de programación Web.
35.
36.
37. 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.
39. NivelInferior
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.
NivelIntermedio
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.
NivelSuperior
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
40.
41. 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.
42. 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.
43. 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).
44. 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
45. 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.
47. 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.
48. 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.
49. 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.
50. 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
51. 2.4.2. Manipulación y presentación de datos.
Presentación de datos en distintos controles por medio de paginas
asp.net
52. 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.
53. 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.
54. 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.
55. 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
56. 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.
57. 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.
58. 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.
59. 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
60. 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.