An open API service indexing awesome lists of open source software.

https://github.com/samcook/aspnet.identity.shaolinq

A Shaolinq provider for AspNet Identity
https://github.com/samcook/aspnet.identity.shaolinq

Last synced: 8 months ago
JSON representation

A Shaolinq provider for AspNet Identity

Awesome Lists containing this project

README

          

# AspNet.Identity.Shaolinq

A [Shaolinq](https://github.com/tumtumtum/Shaolinq) provider for AspNet Identity.

Available on [NuGet](https://www.nuget.org/packages/AspNet.Identity.Shaolinq/).

## Usage

#### Define your Identity User class and matching Shaolinq DataAccessObjects (optional)

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 from
- `IShaolinqIdentityDbUser`
- `IShaolinqIdentityDbUserClaim`
- `IShaolinqIdentityDbUserLogin`
- `IShaolinqIdentityDbUserRole`

- Create an Identity User class derived from `ShaolinqIdentityUser`
- Override the `PopulateDbUser` and `PopulateFromDbUser` methods to map your additional fields between Shaolinq and Identity User classes

#### Define your Shaolinq DataAccessModel
Create a Shaolinq `DataAccessModel` class that implements `IShaolinqIdentityDataAccessModel`.

(replacing generic type parameters with your types if applicable)
```csharp
[DataAccessModel]
public abstract class MyDataAccessModel :
DataAccessModel,
IShaolinqIdentityDataAccessModel
{
[DataAccessObjects]
public abstract DataAccessObjects Users { get; }
[DataAccessObjects]
public abstract DataAccessObjects UserLogins { get; }
[DataAccessObjects]
public abstract DataAccessObjects UserClaims { get; }
[DataAccessObjects]
public abstract DataAccessObjects UserRoles { get; }
}
```

#### Instantiate a UserManager

(replacing generic type parameters with your types if applicable)
```csharp
var dataModel = DataAccessModel.BuildDataAccessModel();
var userStore = new ShaolinqIdentityUserStore<
ShaolinqIdentityUser,
MyDataAccessModel,
Guid,
DbUser,
DbUserLogin,
DbUserClaim,
DbUserRole>(dataModel)
var userManager = new UserManager, Guid>();
```