Nugetを介してMVC3で「SimpleMembership」を試しています。サンプルをダウンロードして試してみました。問題は、特定のユーザーにどのように役割を割り当てるかがわからないことです。
標準のMVCメンバーシップでは、次のようなものを使用できます。
Roles.AddUserToRole(model.UserName, "StandardUser");
ただし、SimpleMembershipには、公開されたロールのメソッドが1つしかないようです(Imが愚かでない限り)。
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によって作成されたテーブルとどのように接続しますか