Melhores práticas para integrar a identidade do ASP.NET - elas existem?

Eu estou usando o ASP.NET Identity com um novo site e não parece haver muitos (alguns?) Exemplos de como fazer isso de forma dissociada. Eu não quero o modelo do meu domínioDomainUser classe para ter que herdar deMicrosoft.AspNet.Identity.EntityFramework.User, então eu criei uma classe que se parece com isso:

public class IdentityUser : User
{
    public virtual DomainUser DomainUser { get; private set; }
}

Eu mudei oDbSets exigido pelo ASP.NET Identity no mesmo derivadoDbContext classe como meus modelos de domíniocomo ilustrado nesta resposta. Eu vinculei oIdentityUser unidirecionalmente aoDomainUser via Fluent API como:

modelBuilder.Entity<IdentityUser>().HasRequired(iu => iu.DomainUser).WithRequiredPrincipal();

Isso me permite separar principalmente as preocupações de autorização e autenticação dos comportamentos definidos noDomainUser classe. Isso é melhor do que combiná-los em uma aula, mas ainda parece feio. Ainda tenho referências para os assemblies de identidade do ASP.NET necessários no meu projeto de domínio. Eu poderia criar ainda outro projeto que continha apenas a minha classe IdentityUser e uma referência ao meu assembly de domínio para permitir a propriedade de navegação, mas que começa a se sentir complicado.

Eu sinto que deveria haver uma maneira melhor, mais limpa e mais modular de vincular Identidade ao domínio sem resultar em um acoplamento rígido.

Alguém inventou uma maneira melhor de lidar com isso? Espero chamar a atenção dos envolvidos no projeto ASP.NET Identity (Hao Kung et al) para fornecer direção aqui.

questionAnswers(2)

yourAnswerToTheQuestion