6

Ho cercato SO e could't trovare qualche cosa che ha trovato il mio scenario ...multi tenant Ambiente - diversi operatori di Membership, 1 dB per inquilino, un'applicazione singolo

multi tenant Ambiente - più provider di appartenenza, 1 DB per inquilino, un'applicazione single su Azure ...

domanda è molto semplice:

Può provider di appartenenza Asp.net essere configurato in questo modo? Qualche indizio su come?

Ora voi ragazzi conoscono la questione, lascia la testa ai dettagli ...

Questo stack dovrebbe funzionare su Azure, SQL Azure con i dati persistenti, e l'appartenenza ASP.net, MVC4, EF5, e alcune cose piacere per gli occhi ...

La sfida consiste nel:

  1. Creare un ambiente multi-tenant in esecuzione una singola applicazione in Azure (ruoli dei lavoratori e ruoli web, ma non inquilino-specifici o orientati) ;

  2. isolamento One to One dei database (un database per tenant);

  3. Un abbonamento Asp.net in esecuzione in ciascun database, al fine di autenticare e autorizzare gli utenti creati da ciascun titolare;

  4. Un database principale, tenendo i dati condivisi e un principale Asp.net appartenenza, in cui solo gli utenti di amministrazione (amministratori del sito principale e gli amministratori tenant) login ...

importante dire che tutti i database hanno esattamente la stessa struttura, ad eccezione di quella principale ...

Non so se aiuta, ma lo stack include anche MVC4, EF5 (DB Primo approccio);

In realtà, stavo considerando di utilizzare il meccanismo di instradamento MVC per raccogliere l'identificazione del tenant e quindi impostare uno specifico contesto Db, in cui tutte le operazioni dovrebbero essere applicate;

Qualche idea?

+0

Per aggiungere un po 'di dettagli in più ... Trovato [questo] (http://stackoverflow.com/questions/10466542/asp-net-membership-model-for-multiple-company-accounts-each -with-multiplo-users) thread poco prima di postare il mio. Non mi sento affatto a mio agio ad implementare n inquilini in un unico provider di appartenenza a asp.net, non importa quale ... rischioso per le ossa ... –

+0

Per riferimento futuro ... Solo affezionato [questo] (http: // stackoverflow .com/questions/6707529/get-specific-membership-provider) thread. –

risposta

0

Per impostazione predefinita, l'appartenenza asp.net non è adatta per l'ambiente multi-tenant in quanto non supporta il concetto di identificatore di titolare per l'identificazione dei dettagli di appartenenza e ruolo per un determinato utente. o si può optare per andare con un provider di appartenenza personalizzato o utilizzare il federato o SSO e avere una mappatura dei ruoli di applicazione a quella dei ruoli SSO che l'utente porta quando usa l'applicazione.

0

Dovresti essere in grado di configurare la stringa di connessione del database di appartenenza ASP.NET in fase di runtime. This thread include alcune opzioni tra cui un provider di appartenenze personalizzato o la modifica anticipata del valore nel ciclo di vita della richiesta tramite Global.asax.cs.