Una cuesti贸n muy celebrada de ASP.NET 2.0 es que no es necesario "currarse" desde cero toda la funcionalidad de autenticaci贸n, autorizaci贸n, etc... ya que gracias a las nuevas API basadas en proveedores para Membership y Roles junto con los controles de Login (que incluyen interfaces de usuario para casi todo lo que necesitemos desde autentiaci贸n hasta creaci贸n de usuarios, etc..) incorporados a la versi贸n 2.0 apenas ser谩 necesario escribir c贸digo nunca.

El caso es que desde Visual Studio todo es muy f谩cil: basta con ir al men煤 "Sitio web路Administraci贸n de sitio Web" y nos aparece el flamante di谩logo que vemos en la figura:


(pulsa para ver en tama帽o real)

El caso es que con 茅l configuramos todos los aspectos de nuestra aplicaci贸n relacionados con la seguridad: desde los proveedores que usaremos, pasando por los permisos de las carpetas y llegando a la definici贸n de los primeros usuarios. Todo ello se guarda por defecto en una base de datos SQL Server creada para la ocasi贸n y que tiene una estructura predefinida y unos procedimientos almacenados que usan Membership y Roles, y que podemos reproducir gracias a la herramienta de l铆nea de comandos aspnet_regsql.exe.

Bien, el caso es que una vez terminada la aplicaic贸n la ponemos en un servidor IIS de verdad para que entre en producci贸n y estamos la mar de contentos con nuestros usuarios. Pero, de repente, nos damos cuenta de que necesitamos m谩s usuarios, de que necesitamos editar los que ya hay o cambiar cualquier otro aspecto de nuestra seguridad y la herramienta de configuraci贸n que tenemos en Visual Studio no est谩. ha desparecido y no podemos usarla en producci贸n. :-((( De hecho si miramos por los foros de Internet y de Microsoft vemos que todo el mundo nos dice: "no hay nada que hacer", "constr煤yete tu propia gesti贸n de usuarios" o "menuda chapuza han hecho".

Bien, lo cierto es que la cosa no es tan terrible y realmente s铆 podremos hacer uso de la herramienta sin problemas. Veamos como...

Lo que mucha gente no sabe es que esta herramienta est谩 incluida junto con su c贸digo fuente completo 隆隆en la instalaci贸n de las bibliotecas de tiempo de ejecuci贸n de ASP.NET 2.0!!. Es decir, est谩 incluida en todos los equipos capaces de ejecutar ASP.NET 2.0, no s贸lo en los que tienen Visual Studio 2005 instalado. Para encontrarla basta con ir a la siguiente ruta:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ASP.NETWebAdminFiles

Sabiendo esto s贸lo hay que hacer un par de cosas y saber trucarla para poder sacarle partido en cualquier aplicaci贸n, incluso en las que est茅n en producci贸n.

Vete a IIS y en el servidor virtual de tu aplicaci贸n o en cualquier otro crea un directorio virtual que apunte a la ruta anterior. 隆OJO! es muy importante que est茅 en un directorio virtual y no directamente en el ra铆z de un servidor virtual por la forma en la que est谩 construida la aplicaci贸n, as铆 que crea uno con el nombre, por ejemplo, de "aspnetwebconfig".

En la pesta帽a de seguridad del directorio virtual deber谩s permitir la autenticaci贸n de usuarios ya que s贸lo con la an贸nima no podras hacerla funcionar. Pues deshabilitar la an贸nima (no se usa,as铆 que da igual pero mejor qu铆tala) y activa la autenticaci贸n integrada de Windows.

Muy importante: no olvides indicar que quieres usar ASP.NET 2.0 para este directorio virtual o recibir谩s errores puesto que por defecto se emplea ASP.NET 1.1. Usa la pesta帽a ASP.NET de tu IIS para conseguirlo:

Bien, una vez creado el directorio virtual de administraci贸n podr谩s administrar cualquier aplicaci贸n Web de ASP.NET 2.0 que tengas en esa m谩quina llamando a la p谩gina por defecto con dos par谩metros especiales, de la siguiente manera (ejemplo):

http://localhost/aspnetwebconfig/default.aspx?applicationPhysicalPath=D:\Logistia\Codigo\LogistiaWeb\&applicationUrl=/LogistiaWeb

F铆jate que los dos par谩metros son los siguientes:

1) applicationPhysicalPath: La ruta f铆sica en el disco a la aplicaci贸n que quieres administrar. La herramienta de administraci贸n se encargar谩 de leer su web.config y conectarse a las bases de datos pertinentes y ver los permisos de cada carpeta, etc...

2) applicationUrl: la ruta virtual base de tu aplicaci贸n, normalmente el nombre de la carpeta virtual que usas para acceder a ella. Puede estar en blanco.

Una 煤ltima cosa importante: este sitio web de administraci贸n s贸lo funcionar谩 en local, no permitiendo el acceso desde URLs remotas por cuestiones de seguridad. Pero te permitir谩 manejar c贸modamente los usuarios, roles, par谩metros de personalizaic贸n, seguridad, etc...

💪🏻 驴Este post te ha ayudado?, 驴has aprendido algo nuevo?
Pues NO te pido que me invites a un caf茅... Te pido algo m谩s f谩cil y mucho mejor