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))
我需要做什么才能让用户登录?
您在配置中设置了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