ASP.NET成员资格和EF

时间:2012-08-30 16:40:38

标签: c# asp.net sql entity-framework asp.net-membership

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

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

我该怎么做?

由于

2 个答案:

答案 0 :(得分:1)

您可以在映射中包含aspnet_Users表,并在网站表中添加相应的约束。然后,EF将在Websites上提供一个表示用户的类及其集合作为导航属性。

答案 1 :(得分:1)

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

这是我的方法 -

1)使用新的ASP.Net Universal Provider

2)实施Custom Membership Provider并覆盖

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

数据库关系

enter image description here