Przypisywanie ról za pomocą MVC SimpleMembership
Próbuję „SimpleMembership” w MVC3 za pośrednictwem Nuget i pobrałem próbkę do zabawy. Problem polega na tym, że nie mogę dowiedzieć się, jak przypisać rolę do konkretnego użytkownika.
W standardowym członkostwie MVC możesz użyć czegoś takiego:
Roles.AddUserToRole(model.UserName, "StandardUser");
Jednak SimpleMembership wydaje się mieć tylko jedną metodę na ujawnienie ról (chyba że jestem głupi!)
public void RequireRoles(params string[] roles)
{
WebSecurity.RequireRoles(roles);
}
Musi istnieć łatwy sposób, ponieważ poniższa tabela została utworzona w ramach tego pakietu nuget:
-TABLE: webpages_Roles
RoleId , RoleName
Jest to nieco mylące, jak wApp_Start/SimpleMembershipMvc3.cs
są następujące:
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);
}
Funkcja 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;
}
Czy ten pakiet korzysta z wbudowanego dostawcy ról? Jeśli tak, to w jaki sposób łączy się z tabelami utworzonymi przez SimpleMembership
Prosty członkostwo GITPakiet NugetNuget Package do próbki