【问题标题】:ASP.NET MVC Custom Membership Provider Web.config ErrorASP.NET MVC 自定义成员资格提供程序 Web.config 错误
【发布时间】:2009-07-28 04:46:10
【问题描述】:

我已经使用 LINQ to SQL 实现了一个自定义成员资格提供程序。当我在 web config 中将 Membership 提供程序添加到我的 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 项目中包含的单独程序集中实现。

任何帮助将不胜感激。

谢谢!

【问题讨论】:

    标签: asp.net-mvc security asp.net-membership


    【解决方案1】:

    尝试在会员标签中添加“Default=MyMembershipProvider”。如果不指定默认值,它将尝试使用 ASP 标准。

    【讨论】:

    • 我添加了 并且成功了!谢谢!
    • 因此,如果您为 ASP.Net 提供一个仅包含一个已配置提供程序的列表(&lt;clear /&gt; 应该删除所有其他提供程序),它会选择 not作为默认值> 配置。惊人的。很高兴我找到了这个。
    【解决方案2】:

    您可以尝试 2 件事。第一:调试是可能的,只需打破所有异常并下载调试符号,包括 .NET 框架的源代码。

    第二个:由于您的类型是在另一个程序集中定义的,type 中的字符串可能需要是程序集限定的类型字符串,即它就像

    type="MyMembership.MyMembershipProvider, MyAssemblyName"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多