Asignación de roles con MVC SimpleMembership
Estoy probando "SimpleMembership" en MVC3 a través de Nuget y he descargado la muestra para jugar. El problema es que no puedo averiguar cómo asignaría un rol a un usuario en particular.
En la membresía estándar de MVC puedes usar algo como:
Roles.AddUserToRole(model.UserName, "StandardUser");
Sin embargo, SimpleMembership solo parece tener un método para los roles expuestos (a menos que sea estúpido), que es
public void RequireRoles(params string[] roles)
{
WebSecurity.RequireRoles(roles);
}
Debe haber una forma fácil, ya que la siguiente tabla se creó como parte de este paquete nuget:
-TABLE: webpages_Roles
RoleId , RoleName
Esto es un poco confuso aunque como enApp_Start/SimpleMembershipMvc3.cs
hay lo siguiente:
Roles.Enabled = true;
RoleProvider provider3 = Roles.Providers["AspNetSqlRoleProvider"];
if (provider3 != null)
{
RoleProvider provider6 = provider3;
SimpleRoleProvider provider4 = CreateDefaultSimpleRoleProvider("AspNetSqlRoleProvider", provider6);
Roles.Providers.Remove("AspNetSqlRoleProvider");
Roles.Providers.Add(provider4);
}
Función SimpleRoleProvider
private static SimpleRoleProvider CreateDefaultSimpleRoleProvider(string name, RoleProvider currentDefault)
{
RoleProvider previousProvider = currentDefault;
SimpleRoleProvider provider = new SimpleRoleProvider(previousProvider);
NameValueCollection config = new NameValueCollection();
provider.Initialize(name, config);
return provider;
}
¿Este paquete utiliza el proveedor de roles incorporado? Si es así, ¿cómo se conecta con las tablas creadas por SimpleMembership?
Membresía simple GITPaquete nugetPaquete Nuget para muestra