【问题标题】:Membership provider error mvc web.config成员资格提供程序错误 mvc web.config
【发布时间】:2014-01-27 12:13:38
【问题描述】:

我的申请中出现会员错误。

这是我的 web.config 部分正在创建错误。

<membership defaultProvider="DefaultMembershipProvider">
            <providers>
                <add name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
            </providers>
        </membership>

就像我读过的所有其他类似的问题一样,告诉我关于将defaultProvidername 添加到此配置文件。

但我已经有defaultProvider 和默认名称设置在那里。

还需要进行哪些其他定制?

你可以在这里看到这个错误-

http://funranger.com

【问题讨论】:

    标签: asp.net asp.net-mvc iis web-config


    【解决方案1】:

    我怀疑在加载您的配置文件之前已经注册了会员提供程序。

    您需要删除第一个成员资格提供程序,这可以通过在添加一个提供程序之前清除所有提供程序来完成,就像您对连接字符串所做的那样。

    在配置部分的成员资格/提供者部分中,在元素之前添加一个元素。

    <membership>
          <providers>
            <clear/>
            <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="WorkI" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/"/>
          </providers>
        </membership>
    

    并在您的 web.config 文件中添加以下行。

    <connectionStrings><add name="DefaultConnection" connectionString="Data Source=YourServername;Initial Catalog=YourDBname;Integrated Security=True;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" /></connectionStrings>
    

    【讨论】:

    • 你说得对,我在 connectionStrings 中缺少DefaultConnection
    【解决方案2】:

    这是您的会员提供者声明在 web.config 中 system.web 元素下的样子

    <membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="15">
          <providers>
            <clear />
            <add 
              name="SqlProvider" 
              type="System.Web.Security.SqlMembershipProvider" 
              connectionStringName="MySqlConnection"
              applicationName="MyApplication"
              enablePasswordRetrieval="false"
              enablePasswordReset="true"
              requiresQuestionAndAnswer="true"
              requiresUniqueEmail="true"
              passwordFormat="Hashed" />
          </providers>
        </membership>
    

    【讨论】:

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