我正在通过 Nuget 在 MVC3 中尝试“SimpleMembership”,并下载了要使用的示例。问题是我无法弄清楚如何将角色分配给特定用户。
在标准 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 创建的表挂钩