Pergunta

Estou desenvolvendo uma solução multi-inquilino e quero usar o mais recente ASP.NET Identity Quadro especificamente o Estrutura de Entidade Implementação.

Basicamente, preciso permitir que dois usuários tenham o mesmo nome de usuário, embora ele seja único dentro de um inquilino, eu também gostaria de fazer uso de assinados externos, como Twitter, Microsoft, Facebook e Google.

.

A partir do que posso dizer, a estrutura não foi projetada com a multi-locação em mente, embora pareça permitir extensibilidade.Eu prefiro fazer uso de tanto componentes existentes quanto possível, embora no momento eu acho que vou ter que abandonar o Enquadramento de entidade Implementação e codifique tudo sozinho.

Alguém mais tentou isso e quanto eles tiveram que codificar a si mesmos.

Foi útil?

Solução

Eu agora tenho uma solução de trabalho que eu compartilhei em um repositório github:

https://github.com/jskimming/aspnet.identity.entityframework.multitenant .

A extensibilidade necessária para suportar a multi-locação não é possível com a versão 1.0.0 de Microsoft.aspnet.Identity.entityFramework (pelo menos não sem muito personalizado), mas está disponível na versão 1.1 Alpha atualmente disponível através do Pilha de Nuget da Web ASP.NAPX "> .

Eu decidi liberar o que eu produzi como um pacote nuget aspnet.identity.entityframework .Multitenant , conforme declarado, atualmente requer o Nightly ASP.NET Web pilha Nuget pacotes .

Eu forneci dois sites simples que fazem uso do pacote para permitir a multi-locação:

    .
  1. implementação de baunilha Qual é o projeto padrão MVC5 template que usa uma chaves primárias de string.
    • as alterações necessárias para fornecer multi-locação foram isoladas para este Commeter .
  2. Integer Chave Primária Implementação Que está fazendo algumas Mais personalizações para usar teclas primárias inteiras
    • As alterações necessárias para fornecer multi-locação foram isoladas para este cometer .
  3. Eu pretendo atualizar a solução como a versão 1.1 da identidade ASP.NET é liberada.

    Espero que os outros encontrem algum uso no pacote NUGET que eu lançado, qualquer feedback é mais do que bem-vindo e por favor Levante quaisquer problemas que você encontre .


    .

    atualização

    A solução foi atualizada para usar a versão 2.0 de microsoft.aspnet.identity ..Entityframework .

Outras dicas

Sim, explicitamente deixamos isso como um cenário de extensibilidade.Você deve ser capaz de fazer isso através de propriedades do Usermanager, substituindo seu próprio iuserstore personalizado.Embora você possa estender os usuários da EF potencialmente também e apenas adicionar um tenantid ao seu usuário.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top