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
- Host: GitHub
- URL: https://github.com/samcook/aspnet.identity.shaolinq
- Owner: samcook
- License: mit
- Created: 2015-09-11T11:44:21.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2016-10-20T13:53:46.000Z (over 9 years ago)
- Last Synced: 2025-08-10T23:29:07.842Z (10 months ago)
- Language: C#
- Size: 43.9 KB
- Stars: 1
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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>();
```