1

我的存储库模式数据库中有一个用户表,我正在寻找连接角色。自定义简单会员的最佳方式是什么?

4

2 回答 2

1

阅读以下 MSDN 文章:

实现成员资格提供程序

实现角色提供者

以及以下 CodeProject 文章:

使用 Web 服务的自定义 MembershipProvider 和 RoleProvider 实现

于 2013-08-22T09:33:52.413 回答
1

您应该在InitializeSimpleMembershipAttribute.cs位于Filters项目文件夹中的文件中设置配置。

打开该文件并找到以下行:

WebSecurity.InitializeDatabaseConnection("DefaultConnection", 
                                         "UserProfile", 
                                         "UserId", 
                                         "UserName", 
                                         autoCreateTables: true);

现在,您只需要将与数据库的连接字符串(必须在 web.config 中声明)放入第一个参数,将表名放入第二个参数,将 UserId 列名放入第三个参数。和 UserName 列名称到第 4 个参数中。

关于最后一个参数,如果您将其设置为 true,如果简单成员资格在您的数据库中找不到任何所需的表,它将创建它们。

但是,我建议您对简单的成员资格使用单独的表,并让 SM 创建自己的表。之后,您可以通过如下代码块将所有现有用户添加到 SM 表中,永远一次:

var oldUsers = db.Users.ToList();

foreach (User u in oldUsers)
{
    WebSecurity.CreateUserAndAccount(u.UserName, u.Password);
}

在那之后,您不再有会员和授权工作的问题......

于 2013-08-22T09:35:11.480 回答