ASP.NET MVC自定义成员资格提供程序Web.config错误

Luk*_*asz 13 security asp.net-mvc asp.net-membership

我使用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>
Run Code Online (Sandbox Code Playgroud)

我得到的错误如下:

分析器错误消息:找不到默认成员资格提供程序.

来源错误:

Line 53:            <forms loginUrl="~/Account/LogOn" timeout="2880"/>
Line 54:        </authentication>
Line 55:        <membership>
Line 56:            <providers>
Line 57:                <clear/>
Run Code Online (Sandbox Code Playgroud)

我被困在哪里从这里开始.我无法设置断点,因为错误似乎是从主代码中调出的.

我使用的是asp.net mvc默认项目附带的标准会员代码.成员资格提供程序在Web项目中包含的单独程序集中实现.

任何帮助将不胜感激.

谢谢!

小智 26

尝试在成员资格标记中添加"Default = MyMembershipProvider".如果未指定默认值,则会尝试使用ASP标准.

  • 我添加了<membership defaultProvider ="MyMembershipProvider">并且它有效!谢谢! (3认同)
  • 因此,如果你给ASP.Net一个完全一个配置的提供者的列表(`<clear />`应该删除所有其他提供者),它选择默认的*not*配置.真棒.很高兴我找到了这个. (3认同)