visual usuarios usuario tutorial tipos permisos net mvc español control con autenticación autenticacion asp .net asp.net security asp.net-membership blogengine.net

tutorial - ¿Cómo gestionas los roles/usuarios de membresía de asp.net SQL en producción?



roles asp net mvc (5)

¿Cómo se configura un proveedor de membresía / función de membresía asp.net sql en una máquina de producción? Estoy intentando configurar BlogEngine.NET y toda la documentación dice que debe usar la herramienta de administración de sitios web ASP.NET de Visual Studio, pero eso no está disponible en una máquina de producción. ¿Soy el primer usuario de BlogEngine en usarlo en una caja sin desarrollo?

El servidor SQL está completamente bloqueado de todo menos del cuadro de producción, aunque tengo SQL Management Studio allí.

EDITAR: Es decir, cómo se agregan nuevos usuarios / roles, no cómo se crean las tablas. Ya ejecuté aspnet_regsql para crear el esquema.

EDIT2: MyWSAT no funciona porque también requiere un usuario inicial en la base de datos. Necesito una aplicación que me permita crear nuevos usuarios en la base de datos de miembros sin ninguna autenticación, solo una cadena de conexión.


¿Has mirado las capacidades de IIS para administrar la membresía? Vaya a la pestaña ASP.NET en IIS del servidor de producción y vea si esto puede ayudarlo.


Resolví este problema al configurar un súper usuario predeterminado al inicio de la aplicación.

Al agregar esto a gobal.asax

void Application_Start(object sender, EventArgs e) { // Code that runs on application startup // check that the minimal security settings are created Security.SetupSecurity(); }

Luego en la clase de seguridad:

using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; /// /// Creates minimum roles and user for application access. /// public class Security { // application roles public static string[] applicationRoles = { "Roles1", "Roles2", "Roles3", "Roles4", "Roles5" }; // super user private static string superUser = "super"; // default password, should be changed on first connection private static string superUserPassword = "default"; private Security() { // // TODO: Add constructor logic here // } /// /// Creates minimal membership environment. /// public static void SetupSecurity() { SetupRoles(); SetupSuperuser(); } /// /// Checks roles, creates missing. /// public static void SetupRoles() { // create roles for (int i = 0; i /// Checks if superuser account is created. /// Creates the account and assigns it to all roles. /// public static void SetupSuperuser() { // create super user MembershipUser user = Membership.GetUser(superUser); if (user == null) Membership.CreateUser(superUser, superUserPassword, "[email protected]"); // assign superuser to roles for (int i = 0; i

Una vez que tiene un usuario predeterminado, puede usar AspNetWSAT u otro.


Solución 1 (estándar, pobre): Visual Studio -> Menú del sitio web -> Configuración de ASP.NET.

Solución 2 ( preffered ): AspNetWSAT (fácil de implementar, bastante potente)


Tendrá que tener .NET 2.0 instalado en la máquina, toda la herramienta VS es una interfaz gráfica de usuario para una herramienta de línea de comandos que forma parte del marco.

Compruebe C: / Windows / Microsoft.NET / Framework / v2.0.50727 para la aplicación aspnet_regsql.exe

/? para los interruptores de línea de comando, / W para un modo de asistente


La solución es simple, la herramienta WSAT está en la máquina de producción, pero es inalcanzable, puede configurar el sitio y puede usarlo.

La herramienta WSAT con código fuente se encuentra en su carpeta C: / WINDOWS / Microsoft.NET / Framework / v2.0.50727 / ASP.NETWebAdminFiles. Para que sea accesible en la red, todo lo que tiene que hacer es ir a IIS-> Crear nuevo directorio virtual-> Apunte a la carpeta de arriba y elimine el acceso anónimo de la página de configuración del directorio.

Entonces necesita acceder a él de la misma manera que se accede a su herramienta de configuración ASP.Net local, es decir, a través de una URL que se asemeja a algo así como: http: //SERVER/AdminTool/default.aspx? ApplicationPhysicalPath = C : / Inetpub / wwwrooot / testsite / & applicationUrl = / testite