[MSSQL 2000] uprawnienia na poziomie rekordów
Krzysztof Wi?niewski - 14-12-2006 16:09
[MSSQL 2000] uprawnienia na poziomie rekordów
Mam w bazie danych obiekty typu "faktura", "zamówienie", "rozliczenie" etc. Polecono mi zró?nicowa? dost?p do tych?e zbiorów w nast?puj?cyc sposób:
Dany rekord mo?e by? przez jednych u?ytkowników tylko ogl?dany, a przez innych - równie? edytowany, a przez jeszcze innych - nawet usuni?ty. To, jakie uprawnienia ma juzer do rekordu, zale?y od tego, czy on jest jego autorem, czy jest przypisany do konkretnego dzia?u firmy, czy nale?y do grupy administratorów etc. W efekcie u?ytkownik do jednej faktury mo?e mie? pe?ny dost?p, a do innej tylko 'read-only'.
Zastanawiam si? - czy da?oby si? wykorzysta? tu wbudowany system bezpiecze?stwa SQL Serwera, czy te? powinienem raczej oprogramowa? regu?y na poziomie triggerów lub procedur aktualizuj?cych dane?
Pozdrawiam, Krzysiek
Marcin A. Guzowski - 14-12-2006 16:09
Krzysztof Wi?niewski napisa?(a): > Mam w bazie danych obiekty typu "faktura", "zamówienie", "rozliczenie" etc. > Polecono mi zró?nicowa? dost?p do tych?e zbiorów w nast?puj?cyc sposób: > > Dany rekord mo?e by? przez jednych u?ytkowników tylko ogl?dany, a przez > innych - równie? edytowany, a przez jeszcze innych - nawet usuni?ty. To, > jakie uprawnienia ma juzer do rekordu, zale?y od tego, czy on jest jego > autorem, czy jest przypisany do konkretnego dzia?u firmy, czy nale?y do > grupy administratorów etc. W efekcie u?ytkownik do jednej faktury mo?e mie? > pe?ny dost?p, a do innej tylko 'read-only'. > > Zastanawiam si? - czy da?oby si? wykorzysta? tu wbudowany system > bezpiecze?stwa SQL Serwera, czy te? powinienem raczej oprogramowa? regu?y na > poziomie triggerów lub procedur aktualizuj?cych dane?
System uprawnie? w SQL Server 2000 nie wystarcza, aby w natywny, bezpo?redni sposób obs?ugiwa? tzw. row level security. Po prostu wiersz jako taki nie jest samoistnym obiektem uprawnie?. W wersji 2005 RLS pocz?tkowo mia?o by? zaimplementowane, ale ch?opaki z MS si? szybko z tego wycofali (i s?usznie).
Konieczna jest wi?c warstwa po?rednia (czyli procedury, widoki z odpowiedni? logik?, tabele z opisem uprawnie? itp.).
W sieci jest ca?a masa howto, ot cho?by: http://vyaskn.tripod.com/row_level_s..._databases.htm
-- Pozdrawiam, Marcin Guzowski http://guzowski.info
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Zdalny =?ISO-8859-2?Q?dost=EAp_do_MSSQL_bez_zarz=B1dzani?==?ISO-8859-2?Q?a?=
[MSSQL] =?ISO-8859-2?Q?zgodno=B6ci_z_licencjami_Microsoft_?==?ISO-8859-2?Q?SQL_Server?=
[MSSQL 2k] - jak =?ISO-8859-2?Q?pod=B3=B1czy=E6_serwer_na_?==?ISO-8859-2?Q?porcie_innym_ni=BF_1433=3F?=
MSSQL Express czy Oracle Express
MSSQL 2005 i uruchamianie procedury o =?ISO-8859-2?Q?okre=B6lone?==?ISO-8859-2?Q?j_godzinie?=
[MSSQL] ACCESS - SQL =?ISO-8859-2?Q?B=B3ad_w_konwersji_lic?==?ISO-8859-2?Q?zb?=
[MSSQL 2K] =?ISO-8859-2?Q?Wp=B3yw_ustawie=F1_regionalnych_?==?ISO-8859-2?Q?serwera_na_zapytania?=
Pobierananie danych z innej bazy danych w MSSQL
Migracja MSSQL 2005 CTP na 2005 Express
MSSQL , funkcja pobierajaca sama date (bez czasu) w funkcji
zanotowane.pldoc.pisz.plpdf.pisz.plradioaktywni.htw.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|