【问题标题】:Configuring ASP.NET Identity to use MySQL配置 ASP.NET 身份以使用 MySQL
【发布时间】:2014-06-16 19:17:57
【问题描述】:

我正在使用 Visual Studio 2013 开发 Web 表单应用程序。我选择了身份验证:个人用户帐户。我希望包括 ASP Identity 在内的应用程序使用 MySQL。

我添加了对 MySql.Data、MySql.Data.Entity.EF6、MySql.Web 的引用并对 Web.config 进行了以下更改:

<connectionStrings>
    <add name="EkoPayMaster.Properties.Settings.EkoPayMasterConnectionString" connectionString="server=localhost;user id=root;persistsecurityinfo=True;database=paymaster" />
</connectionStrings>

    <membership defaultProvider="MySqlMembershipProvider">
      <providers>         
        <clear />
        <add name="MySqlMembershipProvider" type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web" connectionStringName="EkoPayMasterConnectionString" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="true" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" autogenerateschema="true" />
      </providers>
    </membership>
    <profile>
      <providers>           
        <clear />
        <add type="MySql.Web.Security.MySqlProfileProvider, MySql.Web" name="MySqlProfileProvider" applicationName="/" connectionStringName="EkoPayMasterConnectionString" autogenerateschema="true" />
      </providers>
    </profile>
    <roleManager enabled="true" defaultProvider="MySqlRoleProvider">
      <providers>
        <clear />
        <add connectionStringName="EkoPayMasterConnectionString" applicationName="/" name="MySqlRoleProvider" type="MySql.Web.Security.MySQLRoleProvider, MySql.Web" autogenerateschema="true" />
      </providers>
    </roleManager>

  <entityFramework>
    <providers>
      <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
    </providers>
  </entityFramework>
  <system.data>
    <DbProviderFactories>
      <remove invariant="MySql.Data.MySqlClient"></remove>
      <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.8.3.0" />
    </DbProviderFactories>
  </system.data>

当我运行应用程序时,我可以注册一个用户并登录。但是,ASP Identity 不会创建必要的用户表是 MySql 数据库。

我需要做什么才能让应用程序将表/用户信息添加到 MySql 中?

【问题讨论】:

    标签: mysql asp.net visual-studio-2013


    【解决方案1】:

    首先,据我所知,您必须在所有提供者的 connectionStringName 属性中使用与您在 connectionStrings/add name 中提供的完全相同的连接字符串名称。

    【讨论】:

    猜你喜欢
    • 2020-12-11
    • 1970-01-01
    • 2018-08-15
    • 2016-09-02
    • 2013-11-10
    • 2017-01-20
    • 1970-01-01
    • 2020-07-12
    • 1970-01-01
    相关资源
    最近更新 更多