Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
por Saad Ladki
Requisitos previos
En este tutorial se da por supuesto el siguiente entorno:
- El Administrador de bases de datos de IIS se instala en el servidor web (<vínculo a la descarga del Administrador de bases de datos>).
- Un servidor de bases de datos (que podría residir en la misma máquina física que el servidor web)
Configuración del escenario
Vamos a usar un escenario para este tutorial y a suponer que nos gustaría crear una lista de control de acceso para los recursos de nuestro sitio www.fabrikam.com
ficticio. Para ello, crearemos 2 tablas:
La primera tabla, "FabrikamUsers", contendrá el Id. de usuario, el nombre de usuario y la dirección de correo electrónico de cada usuario.
La segunda tabla, "AccessControls", contendrá una referencia a un Id. de usuario, una dirección URL de recurso y si el usuario puede acceder al recurso.
Creación de una tabla
Para crear una tabla:
Abra el Administrador de Internet Information Services (IIS) .
Vaya al Administrador de bases de datos y expanda el nodo de conexión de base de datos (para obtener más información sobre la creación de conexiones a una base de datos, vea Aspectos básicos del Administrador de bases de datos de IIS).
En el nodo "Tablas", haga clic con el botón derecho y seleccione "Nueva tabla".
Aparecerá una nueva pestaña en el área del editor. Dedique un momento a conocer bien los botones de la barra de herramientas:
- Nueva columna: permite agregar una nueva columna a la definición de tabla.
- Eliminar columna: permite quitar una columna existente para la definición de tabla.
- Índices o claves: permite definir un índice o una clave principal en la tabla.
- Relaciones: permite definir una relación de clave externa en la tabla.
- Guardar: permite guardar los cambios en la tabla.
Haga clic en "Nueva columna" en la barra de herramientas. Se crea una columna y aparece el panel "Propiedades de columna".
En "Propiedades de columna", haga lo siguiente:
- Escriba "UserId" como nombre de la columna.
- Establezca "Permitir valores nulos" en "False".
- Establezca "Tipo de datos" en "int".
- Deje "Valor predeterminado" en blanco.
- Establezca "IsIdentity" en "True".
Ahora vamos a convertir este campo en una clave principal haciendo clic en el icono "Índices o claves". Se abrirá un cuadro de diálogo nuevo.
En el cuadro de diálogo, haga clic en el botón "Agregar" y rellene la información de la clave principal de la siguiente manera:
- Establezca "Columns" en "UserId".
- Establezca "Is Unique" en "True".
- Establezca "Type" en "Primary Key".
- Establezca "Name" en "PK_UserId".
Para cerrar la ventana, haga clic en Cerrar.
Agregue otra columna para el nombre de usuario haciendo clic en "Nueva columna" en la barra de herramientas.
En "Propiedades de columna", haga lo siguiente:
- Escriba "Nombre de usuario" como nombre de la columna.
- Establezca "Permitir valores nulos" en "False".
- Establezca "Tipo de datos" en "varchar".
- Establezca "Longitud" en 50.
Por último, agregue otra columna para la dirección de correo electrónico haciendo clic en "Nueva columna" en la barra de herramientas.
En "Propiedades de columna", haga lo siguiente:
- Escriba "Correo electrónico" para el nombre de la columna.
- Establezca "Permitir valores nulos" en "True".
- Establezca "Tipo de datos" en "varchar".
- Establezca "Longitud" en 100.
Haga clic en "Guardar" en la barra de herramientas y se abrirá un cuadro de diálogo "Guardar".
En el "Nombre de tabla", escriba "FabrikamUsers". También puede especificar un esquema o dejar el campo "Nombre de esquema" vacío a fin de usar el esquema predeterminado para el usuario de la base de datos.
Ahora, vamos a definir la tabla "AccessControls". Seguiremos pasos similares a los anteriores:
En el nodo "Tablas", haga clic con el botón derecho y seleccione "Nueva tabla". Aparecerá una nueva pestaña en el área del editor.
Haga clic en "Nueva columna" en la barra de herramientas. Se crea una columna y aparece el panel "Propiedades de columna".
En "Propiedades de columna", haga lo siguiente:
- Escriba "ACId" como nombre de la columna.
- Establezca "Permitir valores nulos" en "False".
- Establezca "Tipo de datos" en "int".
- Deje "Valor predeterminado" en blanco.
- Establezca "IsIdentity" en "True".
Ahora vamos a convertir este campo en una clave principal haciendo clic en el icono "Índices o claves". Se abrirá un cuadro de diálogo nuevo.
En el cuadro de diálogo, haga clic en el botón "Agregar" y rellene la información de la clave principal de la siguiente manera:
- Establezca "Columns" en "ACId".
- Establezca "Is Unique" en "True".
- Establezca "Type" en "Primary Key".
- Establezca "Name" en "PK_ACId".
Para cerrar la ventana, haga clic en Cerrar.
Agregue otra columna para el usuario al que se hace referencia haciendo clic en "Nueva columna" en la barra de herramientas.
En "Propiedades de columna", haga lo siguiente:
- Escriba "UserId" como nombre de la columna.
- Establezca "Permitir valores nulos" en "False".
- Establezca "Tipo de datos" en "int".
- Establezca "IsIdentity" en "False".
Agregue otra columna para el recurso haciendo clic en "Nueva columna" en la barra de herramientas.
En "Propiedades de columna", haga lo siguiente:
- Escriba "ResourceURL" como nombre de la columna.
- Establezca "Permitir valores nulos" en "False".
- Establezca "Tipo de datos" en "varchar".
- Establezca "Longitud" en 200.
Por último, agregue otra columna para especificar el acceso con el botón derecho haciendo clic en "Nueva columna" en la barra de herramientas.
En "Propiedades de columna", haga lo siguiente:
- Escriba "IsUserAllowed" como nombre de la columna.
- Establezca "Permitir valores nulos" en "False".
- Establezca "Tipo de datos" en "Bit".
- Establezca "Valor predeterminado" en "False".
Haga clic en "Guardar" en la barra de herramientas y se abrirá un cuadro de diálogo "Guardar".
En el "Nombre de tabla", escriba "AccessControls". También puede especificar un esquema o dejar el campo "Nombre de esquema" vacío a fin de usar el esquema predeterminado para el usuario de la base de datos.
Modificación de una tabla existente
El Administrador de bases de datos permite editar la definición de una tabla existente. Más concretamente, puede hacer lo siguiente:
- Agregar, modificar o eliminar nuevas columnas.
- Agregar, modificar o eliminar una clave principal.
- Agregar, modificar o eliminar una relación de clave externa.
Ahora que hemos creado las dos tablas, "FabrikamUsers" y "AccessControls", vamos a vincularlas juntas. Tendremos que editar la tabla "AccessControls" y agregar una relación de clave externa a la tabla "FabrikamUsers":
- Abra el Administrador de IIS y vaya al Administrador de bases de datos.
- Expanda el nodo de conexión de base de datos en la vista de árbol del Administrador de bases de datos (para obtener más información sobre la creación de conexiones a una base de datos, vea Aspectos básicos del Administrador de bases de datos de IIS).
- Expanda el nodo Tablas. Ahora debería ver una lista de todas las tablas de base de datos, incluidas "FabrikamUsers" y "AccessControls".
- Seleccione "AccessControls" y haga clic en "Abrir definición de tabla" en la barra de herramientas. Se abre una vista de diseño de tabla y se muestran las columnas que hemos creado en "Crear una nueva tabla".
- En la barra de herramientas de la vista de diseño de tabla, haga clic en "Relaciones". Se abrirá el cuadro de diálogo Relaciones de clave externa.
- Haga clic en Agregar. Se muestra un nuevo editor de relaciones de clave externa.
- En el editor de relaciones de clave externa, seleccione las "Especificaciones de tablas y columnas" y haga clic en el botón de puntos suspensivos "...". Se abre el cuadro de diálogo "Tablas y columnas".
- En el campo "Nombre de relación", escriba "FK_AccessControlsForUsers".
- En la lista desplegable "Tabla de claves principales", seleccione "FabrikamUsers". Ahora debería ver una lista desplegable de claves principales en la tabla "FabrikamUsers". Asegúrese de que "UserId" está seleccionado.
- En la segunda lista desplegable, debería ver una lista de columnas de "AccessControls". Seleccione "UserId" y haga clic en Aceptar para cerrar el cuadro de diálogo.
- Haga clic en Cerrar en el cuadro de diálogo "Relaciones de clave externa".
- Haga clic en "Guardar" para actualizar las tablas. Acabamos de crear una relación entre las tablas "FabrikamUsers" y "AccessControls".
Cambio de datos de la tabla
El Administrador de bases de datos permite modificar los datos de una tabla existente. Más concretamente, puede hacer lo siguiente:
- Agregar nuevas filas.
- Modificar un valor en una fila existente (disponible para los tipos de datos admitidos, <vínculo a tipos de datos admitidos>).
- Eliminar una fila existente.
Comencemos a rellenar nuestra tabla "FabrikamUsers" y "AccessControls" con información de usuario:
- Abra el Administrador de IIS y vaya al Administrador de bases de datos.
- Expanda el nodo de conexión de base de datos en la vista de árbol del Administrador de bases de datos (para obtener más información sobre la creación de conexiones a una base de datos, vea Aspectos básicos del Administrador de bases de datos de IIS).
- Expanda el nodo Tablas. Ahora debería ver una lista de todas las tablas de base de datos, incluidas "FabrikamUsers" y "AccessControls".
- Haga clic con el botón derecho en "FabrikamUsers" y seleccione "Mostrar datos de tabla". Ahora debería ver los datos dentro de la tabla. También debe haber una fila precedida por el símbolo "*" que puede usar para escribir nuevos datos.
- En la nueva fila (*), haga clic en la columna "Nombre de usuario" y escriba "John Doe". A continuación, haga clic en la columna "Correo electrónico" y escriba "JohnDoe@fabrikam.com".
- Cuando haya terminado de escribir información para la nueva fila, presione Entrar. La información se ha guardado en la base de datos. Observe que el campo "UserId" se rellena automáticamente con un valor incremental, ya que está marcado como una identidad.
- Agregue algunas filas más de nombres de usuario y direcciones de correo electrónico de ejemplo.
- Haga clic con el botón derecho en "AccessControls" y seleccione "Mostrar datos de tabla". Ahora debería ver los datos dentro de la tabla. También debe haber una fila precedida por el símbolo "*" que puede usar para escribir nuevos datos.
- En la nueva fila (*), haga clic en la columna "UserId" y escriba "1". Al escribir este valor UserId, se apuntará al primer registro de la tabla "FabrikamUsers" (que debe ser "John Doe" según nuestro ejemplo).
- A continuación, haga clic en la columna "ResourceURL", escriba "admin.aspx" y luego "True" en la columna IsUserAllowed. Esto implica que el usuario "John Doe" puede acceder a la página admin.aspx de nuestro sitio ficticio.
- Agregue algunas filas más de derechos de acceso de ejemplo para otros usuarios.
Ahora que tenemos algunos datos en la tabla, vamos a modificar y eliminar una fila existente:
- Haga clic en cualquier celda de tabla que quiera modificar. Escriba un nuevo valor en la celda. Observe que aparece un lápiz junto a la fila que está editando.
- Haga clic en otra celda o cierre la tabla para guardar la información. Observe que la información se guarda en el servidor y el icono de lápiz desaparece.
- Ahora seleccione una fila haciendo clic en la flecha situada a la izquierda de la fila y, después, haga clic en el botón "Eliminar" de la barra de herramientas. Un cuadro de diálogo solicita confirmación antes de eliminarlo.
- Si selecciona "Sí", la fila de información se elimina en el servidor.