Asp.net mvc 使用实体框架的ASP.NET MVC 3成员资格

Asp.net mvc 使用实体框架的ASP.NET MVC 3成员资格,asp.net-mvc,asp.net-mvc-3,asp.net-membership,Asp.net Mvc,Asp.net Mvc 3,Asp.net Membership,我正在使用ASP.NETMVC3构建我的站点(以前是PHP程序员),使用实体框架,我希望集成内置的成员支持。 虽然我读了很多问题和教程,但我不知道在使用MVC和EF时应该使用什么样的方法 我读到了关于会员资格提供商的信息,但它似乎与ASP.NET web表单相关 为了将会员资格(具有许多属性,甚至不同的登录方式:FB、twitter等)集成到我的站点,并能够将其与我当前的实体框架数据集成,我应该使用哪种技术。注意:我使用了代码优先的方法,但我不介意重写它,因为我还没有什么特别的东西。看起来您需要

我正在使用ASP.NETMVC3构建我的站点(以前是PHP程序员),使用实体框架,我希望集成内置的成员支持。 虽然我读了很多问题和教程,但我不知道在使用MVC和EF时应该使用什么样的方法

我读到了关于会员资格提供商的信息,但它似乎与ASP.NET web表单相关


为了将会员资格(具有许多属性,甚至不同的登录方式:FB、twitter等)集成到我的站点,并能够将其与我当前的实体框架数据集成,我应该使用哪种技术。注意:我使用了代码优先的方法,但我不介意重写它,因为我还没有什么特别的东西。

看起来您需要实现自己的成员资格提供程序。不太容易,但可行。见全班同学。这也可能对您有所帮助。

您也可以在ASP.NET MVC 3中使用standart MembershipProvider。它不使用EF连接,它以自己的方式处理数据库

您应该使用aspnet_regsql.exe准备数据库,并实现您的逻辑身份验证、创建新用户、为他们添加新角色、更改密码等等。 一般来说,最好的方法是在VS中研究测试Internet应用程序


如果standart MembershipProvider的功能对您来说还不够,您必须编写自己的实现。

您对当前EF数据的意义是什么? 两者通常可以保持分离。Auth是一个安全问题,您的EF类是一个业务域问题,因此这两个类通常可以保持独立,asp.net成员资格将在其自己的独立数据库中运行

现在的问题是,如果您希望所有这些表都在同一个数据库中(很多都是这样),那么请使用下面的Ambers建议和aspnet_regsql.exe,尽管您需要更新成员资格和角色提供程序的连接字符串。通过这种方式,首先使用EF代码,您可以使用现有的EF连接字符串(但不能使用database first和edmx连接字符串)

要为成员身份配置db连接字符串,请执行以下操作:

你读过这个吗?是的,但是我迷路了,因为这是一个不同的数据库,我不知道如何将成员身份和角色集成到我当前的实体框架数据中。有什么新闻吗?我想首先使用EF代码实现一个成员资格提供程序。我不喜欢MSFT会员的模式,今天有什么新闻吗?请解释为什么要将它们分开,为什么用户的电子邮件在这个数据库中,而他的其他信息在另一个数据库中,这对你有意义吗?@Shimmy,这取决于:)如果你需要电子邮件地址,你有几个选择。1.创建一个只读实体(而不是DbSet use DbQuery)来仅查询该字段的成员资格表。2.当用户注册时,也将其存储在应用程序中。3.在数据库中实现成员身份,并对所有内容使用单个数据库。您仍然需要查询电子邮件地址。注意#1和#3中,如果电子邮件地址是登录名,则只需查询HttpContext.Current.User.Identity。Name@Shimmy#4、创建自己的自定义会员资格提供商。注意asp.net 4.5有新的SimpleMembership类,另外WebMatrix二进制文件支持通过oauth登录(因此可以在mvc中使用,从而可以获得电子邮件地址),我最终使用了它。一个伟大的扩展!非常感谢你的信息。