我的存储库模式数据库中有一个User表,我希望连接角色。自定义简单会员资格的最佳方法是什么?
答案 0 :(得分:1)
阅读以下MSDN文章:
Implementing a Membership Provider
以及以下CodeProject文章:
Custom MembershipProvider and RoleProvider Implementations that use Web Services
答案 1 :(得分:1)
您应该在位于项目InitializeSimpleMembershipAttribute.cs
文件夹中的Filters
文件中设置配置。
打开该文件并找到以下行:
WebSecurity.InitializeDatabaseConnection("DefaultConnection",
"UserProfile",
"UserId",
"UserName",
autoCreateTables: true);
现在,您只需要将您的连接字符串(必须声明为web.config)放入第一个参数,将表名放入第二个参数,将UserId列名放入第3个参数。和UserName列名称进入第4个参数。
关于最后一个参数,如果将其设置为true,如果简单成员资格未在数据库中找到任何必需的表,则会创建它们。
但是,我建议您使用单独的表来实现简单的成员资格,并让SM创建自己的表。之后,您可以通过一段代码将所有现有用户添加到SM表中,如下所示:
var oldUsers = db.Users.ToList();
foreach (User u in oldUsers)
{
WebSecurity.CreateUserAndAccount(u.UserName, u.Password);
}
之后,您对会员资格和授权工作没有任何问题......