Лучшие практики для интеграции ASP.NET Identity - существуют ли они?
Я использую ASP.NET Identity с новым веб-сайтом, и, кажется, не так много (каких-либо?) Примеров того, как это сделать в отрыве. Я не хочу, чтобы моя модель доменаDomainUser
класс, чтобы унаследовать отMicrosoft.AspNet.Identity.EntityFramework.User
Итак, я создал класс, который выглядит так:
public class IdentityUser : User
{
public virtual DomainUser DomainUser { get; private set; }
}
Я переместилDbSet
Требуется ASP.NET Identity в том же производномDbContext
класс как модель моего доменакак показано в этом ответе, Я связалIdentityUser
однонаправленно кDomainUser
через Fluent API вот так:
modelBuilder.Entity<IdentityUser>().HasRequired(iu => iu.DomainUser).WithRequiredPrincipal();
Это позволяет мне в основном отделить вопросы авторизации и аутентификации от поведения, определенного вDomainUser
класс. Это лучше, чем объединять их в один класс, но все равно это выглядит ужасно. У меня все еще есть ссылки на необходимые сборки удостоверений ASP.NET в моем проекте домена. Я мог бы создать еще один проект, который содержал бы только мой класс IdentityUser и ссылку на мою сборку домена, чтобы учесть свойство навигации, но это начинает казаться запутанным.
Я чувствую, что должен быть лучший, более чистый, более модульный способ связать Identity с доменом, не приводя к тесной связи.
Кто-нибудь придумал лучший способ справиться с этим? Я надеюсь привлечь внимание тех, кто участвует в проекте ASP.NET Identity (Хао Кунг и др.), чтобы указать направление здесь.