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
DataAccessObject
classes derived fromIShaolinqIdentityDbUser
IShaolinqIdentityDbUserClaim
IShaolinqIdentityDbUserLogin
IShaolinqIdentityDbUserRole
-
Create an Identity User class derived from
ShaolinqIdentityUser
- Override the
PopulateDbUser
andPopulateFromDbUser
methods 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>();