A Shaolinq provider for AspNet Identity.
Available on NuGet.
If you are happy with the default set of user fields, you can skip this step and use the supplied DbUser, DbUserClaim, DbUserLogin, DbUserRole and ShaolinqIdentityUser classes.
Alternatively:
-
Create Shaolinq
DataAccessObjectclasses derived fromIShaolinqIdentityDbUserIShaolinqIdentityDbUserClaimIShaolinqIdentityDbUserLoginIShaolinqIdentityDbUserRole
-
Create an Identity User class derived from
ShaolinqIdentityUser- Override the
PopulateDbUserandPopulateFromDbUsermethods to map your additional fields between Shaolinq and Identity User classes
- Override the
Create a Shaolinq DataAccessModel class that implements IShaolinqIdentityDataAccessModel.
(replacing generic type parameters with your types if applicable)
[DataAccessModel]
public abstract class MyDataAccessModel :
DataAccessModel,
IShaolinqIdentityDataAccessModel<Guid, DbUser, DbUserLogin, DbUserClaim, DbUserRole>
{
[DataAccessObjects]
public abstract DataAccessObjects<DbUser> Users { get; }
[DataAccessObjects]
public abstract DataAccessObjects<DbUserLogin> UserLogins { get; }
[DataAccessObjects]
public abstract DataAccessObjects<DbUserClaim> UserClaims { get; }
[DataAccessObjects]
public abstract DataAccessObjects<DbUserRole> UserRoles { get; }
}(replacing generic type parameters with your types if applicable)
var dataModel = DataAccessModel.BuildDataAccessModel<MyDataAccessModel>();
var userStore = new ShaolinqIdentityUserStore<
ShaolinqIdentityUser<Guid>,
MyDataAccessModel,
Guid,
DbUser,
DbUserLogin,
DbUserClaim,
DbUserRole>(dataModel)
var userManager = new UserManager<ShaolinqIdentityUser<Guid>, Guid>();