Назначение ролей с MVC SimpleMembership
Я пробую & quot; SimpleMembership & quot; в MVC3 через Nuget и скачали образец для игры. Проблема в том, что я не могу понять, как назначить роль конкретному пользователю.
В стандартном членстве MVC вы можете просто использовать что-то вроде:
Roles.AddUserToRole(model.UserName, "StandardUser");
Тем не менее, SimpleMembership, похоже, имеет только один метод для ролей (если я не глуп!), Который
public void RequireRoles(params string[] roles)
{
WebSecurity.RequireRoles(roles);
}
Должен быть простой способ, поскольку следующая таблица была создана как часть этого пакета nuget:
-TABLE: webpages_Roles
RoleId , RoleName
Это немного сбивает с толку, хотя, как вApp_Start/SimpleMembershipMvc3.cs
есть следующее:
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);
}
Функция 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;
}
Использует ли этот пакет встроенный поставщик ролей? Если да, то как это связано с таблицами, созданными SimpleMembership
Simple Membership GIT Nuget package Nuget Package for sample