MVC4 ExtendedMembershipProvider和entityframework

时间:2012-08-29 15:15:01

标签: forms-authentication asp.net-mvc-4

我希望能够将相同的数据库用作表单身份验证的asp成员身份详细信息。我目前正在使用MVC4。当我开始并将system.web.providers添加到我的项目时,我得到了一个单独的默认连接。我已将字符串修改为指向与我的应用程序中使用的数据库相同的数据库(entityframework)。

我是否希望提供商自动创建此数据库中的表格,即

  • webpages_Membership
  • 用户配置
  • webpages_Roles
  • webpages_OAuthMembership

目前我正在......

  

要调用此方法,“Membership.Provider”属性必须为   “ExtendedMembershipProvider”的实例

当我尝试通过默认的mvc4应用程序模板注册新用户时。表格不存在。

问候 添

2 个答案:

答案 0 :(得分:12)

这里的问题是默认的mvc4互联网模板使用simplemembership来管理成员资格/角色信息。模板中的代码具有此假设,并且只能用于简单的成员。当您安装通用提供程序时,帐户控制器代码会爆炸,因为它无法理解通用提供程序。看看这篇文章,进一步解释了这个场景 http://weblogs.asp.net/jgalloway/archive/2012/08/29/simplemembership-membership-providers-universal-providers-and-the-new-asp-net-4-5-web-forms-and-asp-net-mvc-4-templates.aspx

答案 1 :(得分:2)

我有同样的问题,

然而我的解决方案尚未解决,但很多人都说将此添加到您的web.config

<add key="enableSimpleMembership" value="false"/>
<add key="autoFormsAuthentication" value="false"/>

如果这不起作用,请尝试使顶部为真。