Aplikacja ASP.NET Multi najemca z rolami najemcy

Mamy aplikację ASP.NET dla wielu dzierżawców. Do tej pory najemcy byli odizolowani od siebie, jednak teraz mamy agencje, które zarządzają wieloma najemcami i chcą mieć możliwość zarządzania wszystkimi najemcami za pomocą jednego konta użytkownika. Staram się wymyślić najlepszy sposób na osiągnięcie tego, miejmy nadzieję, że bez większych zmian w istniejących technologiach, których używamy.

Odpowiednie dane techniczne:

AspNetSqlMembershipProvider dla członkostwa i rólC # 4.0 (niedługo 4.5)Uwierzytelnianie formularzyZarówno strony aspx, jak i MVC (v3)Załóż 100 lub więcej najemców, więc każde rozwiązanie musi to obsługiwać

Uważam, że wymagania są bardzo podobne do modelu zabezpieczeń dla SQL Server. Mamy jeden zestaw loginów, które reprezentują wszystkich użytkowników, którzy mogą zalogować się do systemu. Użytkownicy powinni mieć możliwość nadania ról jednej lub wielu bazom danych (najemcom). Przykład: Użytkownik Bob ma rolę administratora w firmie A, ale tylko rolę użytkownika w firmie B. Mamy także rolę „sysadmin” dla pracowników mojej firmy, która umożliwia nam dostęp do każdego najemcy, a także specjalistyczne uprawnienia administracyjne, takie jak tworzenie / usuwanie najemców itd.

Przeprowadziłem wiele badań nad różnymi bibliotekami, frameworkami itp. I nie znalazłem żadnych przekonujących dowodów na to, że jakaś inna biblioteka lub framework będzie lepsza niż obecnie. Obecnie myślę o tym, aby dowiedzieć się, jak sprawić, by dostawca członkostwa w Sql robił, co chcę, chyba że ktoś może wskazać mi lepszy kierunek. Nie jestem też pewien, czy znam najlepsze warunki do szukania w tym.

Mam 2 opcje, które rozważam:

Dodaj tylko garstkę ról do dostawcy członkostwa i obsłuż wszystkie pytania „czy bieżący użytkownik pełni tę rolę w tym najemcy” poza dostawcą członkostwa. Dostawca członkostwa byłby wykorzystywany do obsługi podstawowego dostępu do systemu.Dodaj role najemcy do dostawcy członkostwa. Mielibyśmy (liczbę ról) x (liczbę najemców) całkowitych ról w systemie. Każdy nowy najemca dodałby kolejny zestaw ról do systemu, np. „Najemca A: Administrator”, „Najemca A: Użytkownik” itp. Potrzebowałby dodatkowych tabel do zarządzania relacjami, a także prawdopodobnie kodu niestandardowego, aby zapewnić, że dostęp żąda od dostawcy członkostwa właściwej roli specyficznej dla najemcy.

Czy jedna z tych opcji jest dobra? A może powinienem szukać gdzie indziej wsparcia dla tego?

questionAnswers(2)

yourAnswerToTheQuestion