Pregunta

Estoy desarrollando una solución multi-inquilino y quiero usar la última Identidad ASP.NET Framework específicamente la Marco de entidades implementación.

Básicamente, necesito permitir que dos usuarios tengan el mismo nombre de usuario, aunque debe ser único dentro de un inquilino, también me gustaría hacer uso de los registros externos como Twitter, Microsoft, Facebook y Google.

De lo que puedo decir, el marco no fue diseñado con múltiples tenencias en mente, aunque parece que permite la extensibilidad.Preferiría hacer uso de la mayor cantidad de componentes existentes posible, aunque en este momento creo que tendré que abandonar el Framework de la entidad implementación, y códíelo todo yo mismo.

¿Alguien más ha probado esto y cuánto han tenido que codificar ellos mismos?

¿Fue útil?

Solución

Ahora tengo una solución de trabajo que he compartido en un repositorio de GitHub:

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

La extensibilidad requerida para admitir múltiples plazas no es posible con la versión 1.0.0 de Microsoft.aspnet.identity.entityFramework (al menos no sin mucho trabajo personalizado), pero está disponible en la versión de 1.1 alfa actualmente disponible a través del paquetes de nuget de la pila de nugets ASP.NET .

He decidido liberar lo que he producido como un paquete de nuget aspnet.identity.entityframework .Multitenant , como lo afirmó que actualmente requiere el Nightly ASP.NET Web Stack Packages de nuget .

He proporcionado dos sitios simples que hacen que use el paquete para permitir la tenencia multi-tenencia:

  1. Aplicación de vainilla que es el proyecto estándar de plantilla MVC5 que usa una cadena de claves primarias.
    • Los cambios necesarios para proporcionar a los múltiples tenedores se han aislado a este commit .
  2. Implementación de la clave primaria entera que está haciendo algunos Más personalizaciones para usar las teclas primarias enteras.
    • Se han aislado los cambios necesarios para proporcionar múltiples tenedores a este cometer .
  3. Planeo actualizar la solución a medida que se libera la versión 1.1 de la identidad ASP.NET.

    Espero que otros encuentren algún uso en el paquete de Nuget que he lanzado, cualquier comentario es más que bienvenido y por favor Levante cualquier problema que encuentre .


    Actualización

    La solución se ha actualizado ahora para usar la versión 2.0 de Microsoft.aspnet.identity .EntityFramework .

Otros consejos

Sí, explícitamente dejamos esto como un escenario de extensibilidad.Debe poder hacer esto a través de las propiedades anuladas de USERMANAGER e implementando su propio IUSERSTORE personalizado.Aunque es posible que pueda extender el EF UserStore de manera potencialmente y simplemente agregue un tenantid a su usuario.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top