0

我有一个叫做Websites可以有很多用户的表。(网站和用户之间的多对多关系)。但是,我使用 ASP.NET 内置成员 API 和实体框架来处理数据。

我想做的是使用 EF 将用户添加到网站对象:website.Users.Add(MembershipUser object here)。就这么简单,如果这不是 Membership API,它会容易得多。但是在创建新用户时,我想从复选框列表中的网站表中分配对特定网站的访问权限。

我怎样才能做到这一点?

谢谢

4

2 回答 2

1

您的问题要复杂得多,您可能无法在一个问题中获得所有答案。我会尽力的。

这是我的方法-

1) 使用新的ASP.Net Universal Provider

2)实现自定义成员资格提供程序并覆盖

public override bool ValidateUser(string username, string password)

这样您就可以根据用户表和网站表验证用户。

3) 自己创建注册,而不是使用 CreateUserWizard。例如,使用常规文本框。

MembershipCreateStatus status;

MembershipUser membershipUser = System.Web.Security.Membership.CreateUser(
UsernameTextBox.Text, PasswordTextBox.Text, EmailTextBox.Text, 
PasswordQuestioTextBox.Text, PasswordAnswerTextBox.Text, true, out status);

// Then assign user to website based on the selected checkboxes

数据库关系

在此处输入图像描述

于 2012-08-31T15:25:39.647 回答
1

您可以aspnet_Users在映射中包含该表,并在网站的表中添加相应的约束。然后,EF 将提供一个代表用户的类和这些用户的集合作为Websites.

于 2012-08-30T16:46:41.990 回答