Thanks to visit codestin.com
Credit goes to github.com

Skip to content

SelmanAY/MySqlIdentity

 
 

Repository files navigation

This is a forked repo. the only difference is identities of entities in database are all integers. Thanks Radenko Zec for the original implementation.

MySql.AspNet.Identity

An ASP.NET Identity 2.1 provider for MySql

Purpose

ASP.NET MVC 5 shipped with a new Identity system (in the Microsoft.AspNet.Identity.Core package) in order to support both local login and remote logins via OpenID/OAuth, but only ships with an Entity Framework provider (Microsoft.AspNet.Identity.EntityFramework).

Features

  • Supports ASP.NET Identity 2.1

  • Contains the same IdentityUser class used by the EntityFramework provider in the MVC 5 project template.

  • Contains the same IdentityRole class used by the EntityFramework provider in the MVC 5 project template.

  • Supports additional profile properties on your application's user model.

  • Provides MySqlUserStore implementation that implements the same interfaces as the EntityFramework version:

    • IUserStore,
    • IUserLoginStore,
    • IUserClaimStore,
    • IUserRoleStore,
    • IUserPasswordStore,
    • IUserSecurityStampStore,
    • IUserEmailStore,
    • IUserLockoutStore<TUser, string>,
    • IUserTwoFactorStore<TUser, string>,
    • IUserPhoneNumberStore

Instructions

For more detailed instructions read this blog post : ASP.NET Identity 2.1 implementation for MySQL

You will need to execute create script on your MySQL database which will create the tables required for the ASP.NET Identity provider.

  1. Create a new ASP.NET MVC 5 project, choosing the Individual User Accounts authentication type.

  2. Remove the Entity Framework packages and replace with MySql.AspNet.Identity.

    • Uninstall-Package Microsoft.AspNet.Identity.EntityFramework
    • Uninstall-Package EntityFramework
  3. Install-Package MySql.AspNet.Identity

  4. In ~/Models/IdentityModels.cs:

    • Remove the namespaces:
      • Microsoft.AspNet.Identity.EntityFramework
      • System.Data.Entity
  5. Install NuGet Package called MySql.AspNet.Identity

    • Add the namespace: MySql.AspNet.Identity This way ApplicationUser will inherit from another IdentityUser which resides in MySql.Asp.Net.Identity namespace
    • Remove the entire ApplicationDbContext class. You don't need that!
  6. In ~/App_Start/Startup.Auth.cs

    • Remove app.CreatePerOwinContext(ApplicationDbContext.Create);
  7. In ~/App_Start/IdentityConfig.cs

    • Remove the namespaces:
      • Microsoft.AspNet.Identity.EntityFramework
      • System.Data.Entity
    • In method public static ApplicationUserManager Create(IdentityFactoryOptions options, IOwinContext context) replace ApplicationUserManager with another which accepts MySqlUserStore like this:
public static ApplicationUserManager Create(IdentityFactoryOptions<ApplicationUserManager> options, IOwinContext context) 
{
     // var manager = new ApplicationUserManager(new UserStore<ApplicationUser>(context.Get<ApplicationDbContext>()));
     var manager = new ApplicationUserManager(new MySqlUserStore<ApplicationUser>());
	 

About

ASP.NET Identity 2.1 provider that uses MySql

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 88.5%
  • JavaScript 7.5%
  • HTML 3.5%
  • Other 0.5%