Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przywileje w sql, Dla wszystkich działa ale w detalach nie chodzi
frankiejojo
post
Post #1





Grupa: Zarejestrowani
Postów: 111
Pomógł: 2
Dołączył: 20.07.2014

Ostrzeżenie: (0%)
-----


Witam,

Temat jest taki - uzytkownik ma prawo robić wszystko z rekordami, które sam wpisał tz insert, delete, update and select no i teraz zagwozda
GRANT DELETE, INSERT, Select, update ON table TO 'user' - działa bez problemowo
Tylko, że ja bym chciał by delikwent miał dostęp tylko do swoich rekordów a nie modyfikował rekordy kolegów
więc
GRANT DELETE, INSERT, Select, update ON table TO 'user' where user = uzytkownik

no i tu jest jakiś byk, którego nie widzę - podpowie ktoś?

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Xelah
post
Post #2





Grupa: Zarejestrowani
Postów: 139
Pomógł: 24
Dołączył: 12.05.2013
Skąd: Hamburg

Ostrzeżenie: (0%)
-----


W MySQL nie ma czegoś takiego jak row level privileges. Nie ma czegoś takiego jak GRANT ... WHERE.

Takie coś musisz obsłużyć manualnie, na przykład poprzez dodawanie kolumny user_id do każdej tabeli. Tylko na dłuższą metę to nie zadziała, bo jak mam dostęp do bazy, bo mam swój login i hasło to i tak mogę zmieniać co popadnie. Ja bym na Twoim miejscu pomyślał o jakimś rozwiązaniu na wyższym poziomie, gdzie user niegdy nie dostaje credential-i do bazy, a tylko do aplikacji. Wtedy jesteś a stanie kontrolować dostęp wedle uznania.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 18.10.2025 - 14:27