Atribuindo Funções com o SimpleMembership MVC
Eu estou tentando "SimpleMembership" no MVC3 via Nuget e baixei a amostra para brincar. A questão é que não consigo descobrir como atribuir uma função a um usuário específico.
Na associação MVC padrão, você pode usar apenas algo como:
Roles.AddUserToRole(model.UserName, "StandardUser");
No entanto, SimpleMembership só parece ter um método para papéis expostos (a menos que eu seja estúpido!)
public void RequireRoles(params string[] roles)
{
WebSecurity.RequireRoles(roles);
}
Deve haver uma maneira fácil como a tabela a seguir foi criada como parte deste pacote nuget:
-TABLE: webpages_Roles
RoleId , RoleName
Isto é um pouco confuso embora como emApp_Start/SimpleMembershipMvc3.cs
existe o seguinte:
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);
}
Função 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 pacote usa o provedor de função interno? Se sim, como se conecta com as tabelas criadas pelo SimpleMembership?
Simple Membership GITPacote NugetPacote Nuget para amostra