Hacia algun tiempo que no escribia, la razon es porque he estado un tanto ocupadon pero bueno ahora que tuve un poco de tiempo quisiera compartir esto con ustedes. Sin duda alguna la aplicacion de roles y membresias en asp.net 2.0 en conjunto con sql 2005 fue un enorme paso adelante para simplificar la creacion y administracion de los mismos, el detalle es que, cuando quieres usar esa maravillosa herramienta web de administracion en un sitio de produccion pues….. nomas no te deja. Comencemos pues a explicar como habilitar esta herramienta en produccion.
Primero que nada quiza quieras modificar el archivo machine.config a fin de que la base de datos de aspnetdb (la que guarda users y demas) no sea un archivo mas dentro de tu aplicacion web sino que este directamente en sql server. Para eso deberas modificar el archivo machine.config (que normalmente esta en esta ruta C:WINDOWSMicrosoft.NETFrameworkv2.0.50727CONFIG ) deberas buscar la seccion connectionStrings del archivo machine.config para que se vea algo como esto:
<connectionStrings>
<add name=»LocalSqlServer» connectionString=»data source=.SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=aspnetdb» providerName=»System.Data.SqlClient»/>
</connectionStrings>
Ahora para crear esa base de datos tendras que correr este script desde la consola de visual studio 2005 o 2008 (o el command prompt, esa consolita que se parece al extinto DOS) Donde «nombre de tu computadora» es obviamente el nombre de tu equipo
aspnet_regsql -S nombredetucomputadorasqlexpress -E -A all
Ahora lo que debes hacer es abrir el Sql Server Management Studio, conectarte a sqlexpress expandir bases de datos y ahi veras la base de aspnetdb.
El siguiente paso es darle permisos a la cuenta ASPNet para que pueda accesar a esta base de datos (Caso contrario te saldra un error cuando quieras realizar operaciones de insercion de usuarios etc). Agrega un nuevo login (si es que no existe uno para ASPNet) y dale todos los permisos necesarios para crear etc en la base de datos aspnetdb.
Bien ahora abre IIS y dile que vas a crear un nuevo directorio virtual digamos que por nombre le pondras SiteDemo (en este agregaremos la aplicacion que usa visual studio para modificar tus users y roles y todo lo que quieres administrar pero ya no en desarrollo sino en produccion) Haces click en siguiente hasta la parte donde te pide la ruta donde esta la aplicacion que queremos agregar y metes esta ruta que es donde normalmente se instala .net. C:WINDOWSMicrosoft.NETFrameworkv2.0.50727ASP.NETWebAdminFiles
Le das click click click hasta finalizar, asegurate que la version de .net para esta aplicacion este configurada en 2.0. Para esto le das click con el boton derecho al SiteDemo, propiedades y ahora haces click en el tab que dice asp.net y ahi tiene que estar la version 2.0.50727
Ahora regresa a la aplicacion que estas desarrollando. Agrega una nueva pagina (llamala como desees) y agregale un boton a esta pagina. En el evento click de este boton metes esta linea de codigo
Response.Redirect(«Http://localhost/SiteDemo/Default.aspx?applicationPhysicalPath=» + AppDomain.CurrentDomain.BaseDirectory.ToString() + «&applicationUrl=/»)
Listo!!! se abrira la pagina de administracion web en tu site de produccion y ahora podras crear usuarios, activarlos, desactivarlos, crear roles etc todo recordemos en produccion.
Espero les sirva, hasta el proximo post!!