Лучшие практики для интеграции 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().HasRequired(iu => iu.DomainUser).WithRequiredPrincipal();
Это позволяет мне в основном отделить вопросы авторизации и аутентификации от поведения, определенного вDomainUser
учебный класс. Это лучше, чем объединять их в один класс, но все равно это выглядит ужасно. У меня все еще есть ссылки на необходимые сборки удостоверений ASP.NET в моем проекте домена. Я мог бы создать еще один проект, который содержал бы только мой класс IdentityUser и ссылку на мою сборку домена, чтобы учесть свойство навигации, но это начинает казаться запутанным.
Я чувствую, что должен быть лучший, более чистый, более модульный способ связать Identity с доменом, не приводя к тесной связи.
Кто-нибудь придумал лучший способ справиться с этим? Я'Я надеюсь привлечь внимание тех, кто участвует в проекте ASP.NET Identity (Хао Кунг и др.), чтобы указать направление здесь.