Bruge Membership/Role/ProfileProvider med grupper.
Membershipprovider og grupper - hvordan ?Jeg skal have en portal med forskellige applikationer. På portalen kan man oprette sig selv, oprette en gruppe, og derpå oprette andre medlemmer i gruppen (noget i stil med Yahoo/MSN Groups)
Hver applikation skal være tilgængelig for gruppens medlemmer - men data for andre grupper er ej tilgængelige for andre end gruppen selv. Alle data ligger i een database for hele portalen, og tanken er at hver record har, foruden data, en GruppeID (Hvis du har kommentarer hertil hører jeg dem gerne).
For hver applikation er der foruddefinerede roller, og i hver gruppe skal der så tildeles roller til medlemmerne.
Der er tillige nogle profil data, som er fælles for alle applikationer; f.eks. telefon, adresse osv.
Hver gruppe skal i hver applikation kunne definere egne profildata: For eksempel afdelinger (som QA, Teknik, Produktion, Salg osv) ... hvilke afdelinger der er tale om afhænger af den specifikke gruppe.
Et andet gruppespecifikt sæt af profildata ville f.eks. være : Elev, Soloist, Pilot, Instruktør, Slæbepilot; eller Arbejder, Sjakbajs, Leder.
Hvordan kan jeg opnå ovenstående med MembershipProvider, RoleProvider og ProfileProvider ?
En given bruger kan i den ene applikation have profil som "Leder" mens i den anden gruppe have profil som "Instruktør"
Tanken er, at jeg har /portal og derunder /portal/Applikation1 til /portal/ApplikationN. Jeg kan således lave en web.config i toppen af hver applikation samt i selve portalen.
På ovenstående måde kan jeg få MemberShip til at gælde for både portal og de underliggende applikationer.
Jeg ved ikke hvordan jeg skal håndtere roller eller profiler:
A. Roller.
En bruger har en bestemt rolle i en bestemt applikation (men rollen gælder kun gruppens egne data).
Adgangen til data er nemt nok at begrænse (med min GruppeID) .. men hvordan f.eks. separerer jeg den
Admin rolle som hører til en given gruppe og applikation fra de andre admins på samme applikation (men som tilhører en anden gruppe) ?? Skal jeg bygge lidt på RoloProvideren eller er der et andet fif ?
B: Profiler.
Profiler er applikationsspecifikke OG gruppespecifikke. Jeg forstår at man kan neste profiler i et niveau, og på den måde kunne hver brugergruppe få deres lille "profilgruppe" - men findes der en anden måde at gøre det på ? Hvis jeg skal liste de tilgængelige profiler så skal det kun være dem der gælder for denne applikation i denne gruppe. ProfileProvideren kan få at applikationsnavn i den lokale web.config, men hvordan kan jeg skelne mellem grupperne?