Asp.net 成员资格在从不同应用程序创建用户时遇到问题

Asp.net 成员资格在从不同应用程序创建用户时遇到问题,asp.net,asp.net-mvc,asp.net-membership,Asp.net,Asp.net Mvc,Asp.net Membership,我有两个类似于MVC的应用程序: Membership.ApplicationName = "Website"; var membership = Membership.CreateUser(username, password); 网站 及 管理 在每一个示例中,我都使用asp.net成员资格提供程序使用mysql,如下所示: Membership.ApplicationName = "Website"; var membership = Membership.CreateUser(user

我有两个类似于MVC的应用程序:

Membership.ApplicationName = "Website";
var membership = Membership.CreateUser(username, password);
网站

管理

在每一个示例中,我都使用asp.net成员资格提供程序使用mysql,如下所示:

Membership.ApplicationName = "Website";
var membership = Membership.CreateUser(username, password);
网站web.config

<roleManager enabled="true" defaultProvider="MySQLRoleProvider">
            <providers>
                <clear />
                <add name="MySQLRoleProvider" type="MySql.Web.Security.MySQLRoleProvider, MySql.Web, Version=6.8.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="mySqlConnectionString" applicationName="Website" />
            </providers>
        </roleManager>
        <membership defaultProvider="MySQLMembershipProvider" hashAlgorithmType="SHA1">
            <providers>
                <clear />
                <add name="MySQLMembershipProvider" autogenerateschema="false" 
              type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=6.8.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" 
              connectionStringName="mySqlConnectionString" 
              enablePasswordRetrieval="false" 
              enablePasswordReset="true" 
              requiresQuestionAndAnswer="false" 
              applicationName="Website" 
              requiresUniqueEmail="true" 
              passwordFormat="Hashed" 
              maxInvalidPasswordAttempts="25" 
              minRequiredPasswordLength="6" 
              minRequiredNonalphanumericCharacters="0" 
              passwordAttemptWindow="10" 
              passwordStrengthRegularExpression="" />
            </providers>
        </membership>
  <roleManager enabled="true" defaultProvider="MySQLRoleProvider">
    <providers>
      <clear />
      <add name="MySQLRoleProvider" type="MySql.Web.Security.MySQLRoleProvider, MySql.Web, Version=6.8.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="mySqlConnectionString" applicationName="Administration" />
    </providers>
  </roleManager>
  <membership defaultProvider="MySQLMembershipProvider" hashAlgorithmType="SHA1">
    <providers>
      <clear />
      <add name="MySQLMembershipProvider" autogenerateschema="true" type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=6.8.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="mySqlConnectionString" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" applicationName="Glocalapps" requiresUniqueEmail="true" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression="" />
    </providers>
  </membership>
  <profile defaultProvider="MySqlProfileProvider">
    <providers>
      <clear />
      <add name="MySQLProfileProvider" type="MySql.Web.Profile.MySQLProfileProvider, MySql.Web, Version=6.8.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="mySqlConnectionString" applicationName="Administration" />
    </providers>
  </profile>
这会创建一个没有问题的用户,但是如果我尝试从网站应用程序登录,它会返回一个密码错误。我做了测试,这确实是一个密码错误。如果我从网站上创建的其他用户复制另一个hash/salt,那么我可以使用这个新创建的用户登录,因此用户创建正常,但由于某些原因,当从管理应用程序创建用户时,密码无法识别

<membership defaultProvider="MySQLMembershipProvider">

有人已经遇到过这个问题,或者知道为什么不工作吗?

问题是,在一个配置中,我有以下内容:

<membership defaultProvider="MySQLMembershipProvider" hashAlgorithmType="SHA1">
而另一个应用程序

<membership defaultProvider="MySQLMembershipProvider">
添加hashAlgorithType解决了这个问题。可以在运行时更改应用程序名称