Tema: Re: asp.net duomenu prieinamumas
Autorius: Jornada Del Muerto
Data: 2009-05-06 19:56:35
> Prireike asp.net aplikacijoje kazkaip realizuot duomenu 
> prieinamuma/paslepima priklausomai nuo vartotojo roliu. Esme ta, kad visi 
> duomenys yra vienoje DB lenteleje, kuri atvaizduojama i gridview ir 
> noreciau, kad tie, kam nepriklauso apie juos zinot, to ir nematytu, nei 
> per paieska, nei siaip ziuredami.
> Kadangi asp.net turi labai paprasta naudoti useriu ir roliu mechanizma, 
> kur realiai beveik nereikia rasyti kodo, gal ir duomenu prieinamumui yra 
> kazkas jau paruosto?
> Ar vistik cia reikia paciam realizuot saugojant prie kiekvieno duomens 
> vartotojo roles, kuriems jis prieinamas, o poto pacioje aplikacijoje 
> atlikt filtravimus?


Zaisi su visokiais LDAP jei naudosi domain userius ir vistiek savus 
kazkokius lygius jiems teks sugalvot ir pan.


As cia daug negalvojas toki paprasta solution duosiu.

Sukuri useriam ar tai ju rolem ir tai duomenu lentai is kur duomenys 
atvaizduojami db lauka pvz: AccessLevel pavadinimu.

Daleiskim kuo slaptesni duomenys tuo ju lygis didesnis, tuo didesnis 
skaicius AccessLevel lauke

Turi po to pvz.:

Users
Name    AccessLevel
Jonas     0
Antanas 1
Rimas    2

Duomenys
Informacija    AccessLevel
Info1            0
Info2            0
Info3            1
Info4            2
Info5            3

Prisiloginus useriui paimi jo AccessLevel ir isimeni, tada kai darai 
uzklausa:

Select * From DuomenuLenta dl Where dl.AccessLevel <= 
{UserioIsimintasAccessLevel}

Jam rodys informacija ne didesnio lygio nei jo vartotojas ar tai jo role 
gali matyt.

Jei tai roles ir jam priskirtos kelios roles tai auksciausiu levelio roles 
levelis yra kaip pagrindinis jo access levelis.


-- 
Freelancer Developer
Humoras, Anekdotai ir t.t... http://jokes.lythum.lt