我使用LINQ to SQL实现了自定义成员资格提供程序。当我在Web配置中将成员资格提供程序添加到我的asp.net mvc网站时,登录页面停止工作。
我的Web.config设置:
<membership>
<providers>
<clear/>
<add
name="MyMembershipProvider"
type="MyMembership.MyMembershipProvider"
connectionStringName="ApplicationServices"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
requiresUniqueEmail="false"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="6"
minRequiredNonalphanumericCharacters="0"
passwordAttemptWindow="10"
passwordStrengthRegularExpression=""
applicationName="/"/>
</providers>
</membership>
我得到的错误如下:
分析程序错误消息:找不到默认成员资格提供程序。
来源错误:
Line 53: <forms loginUrl="~/Account/LogOn" timeout="2880"/>
Line 54: </authentication>
Line 55: <membership>
Line 56: <providers>
Line 57: <clear/>
我被困在哪里从这里开始。我无法设置断点,因为错误似乎是从主代码中调用的。
我正在使用asp.net mvc默认项目附带的标准会员代码。成员资格提供程序在Web项目中包含的单独程序集中实现。
非常感谢任何帮助。
谢谢!
答案 0 :(得分:26)
尝试在成员资格标记中添加“Default = MyMembershipProvider”。如果您没有指定默认值,它将尝试使用ASP标准。
答案 1 :(得分:3)
第二:由于您的类型是在另一个程序集中定义的,type
中的字符串可能需要是一个程序集限定类型字符串,即它就像
type="MyMembership.MyMembershipProvider, MyAssemblyName"