Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

SELECT dozvoljenih kolona?

[es] :: MS SQL :: SELECT dozvoljenih kolona?

[ Pregleda: 1925 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

trodon
Nebojsa Brindic
CTO
Bincode Entertainment
Beograd

Član broj: 14115
Poruke: 219
*.dynamic.sbb.rs.

Sajt: bincode-entertainment.com


Profil

icon SELECT dozvoljenih kolona?28.07.2008. u 20:28 - pre 191 meseci
Recimo da tabela u bazi ima 3 fielda - field1, field2, field3. Ulogujem se na server kao user kome su stavljene zabrane SELECT-a na fieldove field1 i field2. Kako da selektujem sve kolone iz tabele koje su dozvoljene za odredjenog user-a? Gledao sam mypermissions proceduru, ali ne znam kako da je koristim, i ne znam da li se ovaj problem uopshte reshava na taj nachin?

Unapred hvala na odgovorima...
 
Odgovor na temu

Zidar
Canada

Član broj: 15387
Poruke: 3085
91.150.96.*



+79 Profil

icon Re: SELECT dozvoljenih kolona?07.08.2008. u 17:07 - pre 191 meseci
Imas generalno dva nacina za ovaj problem.
Nacin 1: ne das nikome prevo da otvori tabelu direktno. Znaci, niko ne moze da uradi "SELECT Field1 FROM MyTable", nema permissions. Onda napravis nekoliko VIEW-a i na njih das prava odredjenim grupama korisnika.

Nacin 2: razbijes tabelu na nekoliko tabela, pa recimo user 'Aca' moze da cita/pise po svim tabelaam, a user 'Maca' moze samo po tabeli A ali ne i po tabeli B.

I jedan i drugi nacin traze da dobro smislis ko sta sme da radi i da ne komplikujes previse. To ti sve preraste u jednu glavobolju za administraciju ali tu se ne moze nista. Zato je MS SQL skup - treba ti administrator i da mislis o ovim stvarima.

:-)
 
Odgovor na temu

Sasa Popovic
Software Architect / co-owner, Vega IT
Sourcing
Novi Sad

Član broj: 7402
Poruke: 33
...vl-edge-dnevnik.neobee.net.

Sajt: www.vegaitsourcing.rs


Profil

icon Re: SELECT dozvoljenih kolona?08.08.2008. u 14:48 - pre 191 meseci
Citat:
trodon: Recimo da tabela u bazi ima 3 fielda - field1, field2, field3. Ulogujem se na server kao user kome su stavljene zabrane SELECT-a na fieldove field1 i field2. Kako da selektujem sve kolone iz tabele koje su dozvoljene za odredjenog user-a? Gledao sam mypermissions proceduru, ali ne znam kako da je koristim, i ne znam da li se ovaj problem uopshte reshava na taj nachin?

Unapred hvala na odgovorima...


Mozete da iskoristite sp_column_privileges proceduru da bi ste videli da li trenutni korisnik ima SELECT prava na odredjenoj koloni i da na osnovu toga napravite odgovarajuci SQL upit.
Na primer, mogli bi ste da izvrsite sledeci upit:
Code:

DECLARE @PrivilegedColumns 
      TABLE (
            TABLE_QUALIFIER SYSNAME, 
            TABLE_OWNER SYSNAME, 
            TABLE_NAME SYSNAME, 
            COLUMN_NAME SYSNAME, 
            GRANTOR SYSNAME, 
            GRANTEE SYSNAME, 
            PRIVILEGE VARCHAR(32), 
            IS_GRANTABLE VARCHAR(3))
INSERT INTO @PrivilegedColumns
EXEC sp_column_privileges @table_name = 'MyTable', 
   @column_name = 'MyColumn'

SELECT * FROM @PrivilegedColumns

Odnosno da ga izmenite tako da se iz @PrivilegedColumns tabele proveri da li korisnik ima "SELECT" privilege na zadatoj koloni. Zatim dinamicki napravite SQL upit koji ce izvuci podatke samo iz zeljenih kolona i dinamicki izvrsite SQL upit.

Pozdrav,
Sasa
 
Odgovor na temu

trodon
Nebojsa Brindic
CTO
Bincode Entertainment
Beograd

Član broj: 14115
Poruke: 219
89.216.117.*

Sajt: bincode-entertainment.com


Profil

icon Re: SELECT dozvoljenih kolona?17.08.2008. u 11:40 - pre 191 meseci
Hvala puno na pomoci!!!!
 
Odgovor na temu

[es] :: MS SQL :: SELECT dozvoljenih kolona?

[ Pregleda: 1925 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.