![]() |
![]() |
![]()
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ś? |
|
|
![]() |
![]()
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. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.10.2025 - 14:27 |