Назначение ролей с помощью MVC SimpleMembership

Я пробую «SimpleMembership» в 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

12
задан JustAnotherDeveloper 27 July 2012 в 12:59
поделиться