美文网首页
在ASP.NET Web 应用下基于 MySQL 使用 Iden

在ASP.NET Web 应用下基于 MySQL 使用 Iden

作者: 显卡84du | 来源:发表于2018-01-01 12:35 被阅读203次

    1.创建 ASP.NET Web APP

    2.替换默认的数据库链接

    Web.config 文件的 connectionStrings 配置节中替换默认的链接字符串为:
    <add name="DefaultConnection" connectionString="Server=localhost;Port=13306;Database=databasename;User id=uid;Password=somepass;" providerName="MySql.Data.MySqlClient" />

    3.创建默认数据表

    创建表的SQL脚本

    更改数据表区分大小写
    在[mysqld]节点下,加入一行: lower_case_table_names=1

    4.删除默认的 Microsoft.AspNet.Identity.EntityFramework 包

    使用命令行: Uninstall-Package Microsoft.AspNet.Identity.EntityFramework

    直接使用安装界面点击删除

    如有依赖包需要先删除,如 Microsoft.AspNet.Identity.EntityFramework.zh-Hans

    5.安装 MySql.AspNet.Identity 包

    命令行: Install-Package MySql.AspNet.Identity -Version 2.1.1

    Dependencies

    6.替换代码

    1.替换引用包

    ~/Models/IdentityModels.cs (以及其他引用到这两个包的)文件中删除以下两个引用

    using System.Data.Entity;
    using Microsoft.AspNet.Identity.EntityFramework;
    

    替换为

    using MySql.AspNet.Identity;
    

    2.删除不必要代码

    ~/Models/IdentityModels.cs 中删除这个类

    public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
    {
      public ApplicationDbContext() : base("DefaultConnection", throwIfV1Schema: false)
      {
      }
      public static ApplicationDbContext Create()
      {
        return new ApplicationDbContext();
      }
    }
    

    ~/App_Start/Startup.Auth.cs 中删除这行代码

    app.CreatePerOwinContext(ApplicationDbContext.Create);
    

    3.删除引用替换代码

    ~/App_Start/IdentityConfig.cs 文件中删除以下引用

    using System.Data.Entity;
    using Microsoft.AspNet.Identity.EntityFramework;
    

    添加以下引用

    using MySql.AspNet.Identity;
    

    替换代码

    // 替换掉被注释的这行代码
    // var manager = new ApplicationUserManager(new UserStore<ApplicationUser>(context.Get<ApplicationDbContext>()));
    var manager = new ApplicationUserManager(new MySqlUserStore<ApplicationUser>());
    

    7.运行后功能可正常使用

    项目代码见GitHub - Identity2MySql

    参考

    1. ASP.NET Identity 2.1 implementation for MySQL
    2. Overview of Custom Storage Providers for ASP.NET Identity

    相关文章

      网友评论

          本文标题:在ASP.NET Web 应用下基于 MySQL 使用 Iden

          本文链接:https://www.haomeiwen.com/subject/atftnxtx.html