我有一个叫做Websites
可以有很多用户的表。(网站和用户之间的多对多关系)。但是,我使用 ASP.NET 内置成员 API 和实体框架来处理数据。
我想做的是使用 EF 将用户添加到网站对象:website.Users.Add(MembershipUser object here)。就这么简单,如果这不是 Membership API,它会容易得多。但是在创建新用户时,我想从复选框列表中的网站表中分配对特定网站的访问权限。
我怎样才能做到这一点?
谢谢
我有一个叫做Websites
可以有很多用户的表。(网站和用户之间的多对多关系)。但是,我使用 ASP.NET 内置成员 API 和实体框架来处理数据。
我想做的是使用 EF 将用户添加到网站对象:website.Users.Add(MembershipUser object here)。就这么简单,如果这不是 Membership API,它会容易得多。但是在创建新用户时,我想从复选框列表中的网站表中分配对特定网站的访问权限。
我怎样才能做到这一点?
谢谢
您的问题要复杂得多,您可能无法在一个问题中获得所有答案。我会尽力的。
这是我的方法-
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
数据库关系
您可以aspnet_Users
在映射中包含该表,并在网站的表中添加相应的约束。然后,EF 将提供一个代表用户的类和这些用户的集合作为Websites
.