2009-12-08 15 views
5

? Nuestro requisito es algo como esto.En la arquitectura SAAS, ¿cómo manejo los inicios de sesión de usuarios de esquema de db y multi-inquilinos

Estamos construyendo un sitio web multi-tenant en ASP.NET MVC, y cada cliente debe ser capaz de crear sus propios usuarios según roles de usuario predefinidos.

Estamos pensando en crear un esquema para algunas tablas que sería común para los clientes. De modo que los clientes pueden iniciar sesión en el sistema de acuerdo con sus inicios de sesión de esquema y no necesitamos alterar ninguna consulta para atenderlos a todos.

Nos estamos refiriendo a http://msdn.microsoft.com/en-us/library/aa479086.aspx Base de datos compartida, Esquemas separados.

Puede alguien sugerir el siguiente 1. Después de crear el esquema cómo autorizar usuario frente a un esquema concreto 2. ¿Es posible que sin ningún cambio en las consultas pueden servir db multi-inquilinos

Gracias de antemano Anil

Respuesta

2

Después de mucha investigación, puedo decir que, aunque requiere más desarrollo por adelantado y más controles en el camino, la base de datos compartida y el esquema compartido es el camino a seguir. Pone un poco de límite en la facilidad con la que puede satisfacer las necesidades específicas de un cliente, pero desde mi punto de vista, SAAS no se trata de satisfacer las extrañas necesidades de un solo cliente. Se trata de atender a la mayoría de los clientes. No es un SAAS sino un iPhone como ejemplo. Fue construido para atender a las masas. En lugar de centrarse en hacer todo, está diseñado para ser de una sola talla, simplemente por su simplicidad. Esto no ayuda a su caso en lo que respecta a la autorización, pero le ahorrará horas de desarrollo a largo plazo.

0

Si está pidiendo esto en el contexto del mecanismo de autenticación/autorización de SQL Server, puedo responder esta pregunta diciendo que cada usuario tiene un esquema predeterminado que ayuda al motor de búsqueda a encontrar el objeto requerido en la base de datos.

SQL Query Engine mirará primero el esquema predeterminado del usuario para encontrar el objeto requerido (tabla). Si encuentra el objeto en el esquema del usuario, utilícelo; de lo contrario, vaya al esquema predeterminado del sistema (dbo) para encontrarlo.

Verificar this artículo Cómo referirse a la sección Objetos para saber cómo funciona. El artículo también contiene información sobre conceptos de seguridad relacionados con esquemas.

Cuestiones relacionadas