MVC 4成员不能登录

本文关键字:登录 不能 成员 MVC | 更新日期: 2023-09-27 18:19:16

我创建了一个MVC 4应用程序,这是我第一次尝试使用会员资格。

我有一个sql数据库,我已经创建了成员表,并使用"ASP。. NET配置"我已经选择了我的提供者,添加了角色和用户。

当我尝试使用登录页面登录时,我得到错误;

调用"Membership"方法。属性必须是ExtendedMembershipProvider的实例。

我不使用azure,也不使用NuGet。

我的配置文件如下;

<membership defaultProvider="SqlMembershipProvider">
  <providers>
    <add connectionStringName="ApplicationServices" name="SqlMembershipProvider"
      type="System.Web.Security.SqlMembershipProvider" />
  </providers>
</membership>
<roleManager enabled="true" defaultProvider="SqlRoleProvider">
  <providers>
    <add connectionStringName="ApplicationServices" name="SqlRoleProvider"
      type="System.Web.Security.SqlRoleProvider" />
  </providers>
</roleManager>

这就是为我添加的所有内容。

我的帐户控制器有以下属性,但删除它没有区别。

[InitializeSimpleMembership]

在这一行失败;

if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe))

我需要做什么才能让用户登录?

MVC 4成员不能登录

您在配置中设置了SqlMembershipProvider,但试图使用simplemmembershipprovider选择一个并相应地配置您的应用程序。如果您根据SimpleMembersip(最常见的是一个包含UserId, Username和其他字段的表)设置db,那么按照以下方式更改配置,并确保InitializeSimpleMembershipFilter查找UserId, Username字段,因为它们在您的表中已设置:

<membership defaultProvider="SimpleMembershipProvider">
    <providers>
       <clear/>
       <add name="SimpleMembershipProvider" type="WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData" />
    </providers>
</membership>
<roleManager defaultProvider=“SimpleRoleProvider“>
  <providers>
    <add name=“SimpleRoleProvider“ type=“WebMatrix.WebData.SimpleRoleProvider, WebMatrix.WebData“/>
  </providers>
</roleManager>

否则,要设置SqlMembershipProvider,您可以参考本页底部:http://msdn.microsoft.com/en-us/library/system.web.security.sqlmembershipprovider.aspx