Kezdőoldal » Számítástechnika » Programozás » Milyen módszerrel tárolnátok...

Milyen módszerrel tárolnátok jogosultsági szinteket?

Figyelt kérdés
Tehát van egy asztali alkalmazás, amibe különféle dolgozok léphetnek be és a munkakörtől függően elérhetőek dolgok az alkalmazásba. Az adatbázisba lenne például egy dolgozo tábla, amibe szerepel a név, email, jelszó (titkosítva), és mondjuk egy jogosultsági szint 0 1 2 ... stb. Amikor bejelentkezik akkor a bejelentkezéskor ellenőrizzem, le hogy a jogosultsági szint mivel egyenlő és az alapján tudják használni a funkciókat vagy ez így infobizt szempontból nem túl optimális, hiszen ha valaki hozzáfér az adatbázishoz akkor csak szimplán átírja a jogosultságot.
2020. szept. 3. 21:56
 1/7 anonim ***** válasza:
40%
Egyszerű alkalmazásnál vigyázni kell, hogy ne legyen írásjoga az adatbázisra.
2020. szept. 3. 22:16
Hasznos számodra ez a válasz?
 2/7 anonim ***** válasza:
38%
Az alkalmazás használja az adatbázist, nem az alkalmazásba belépő felhasználó. Egyszerűen hardkódold bele a forrásba az adatbázis csatlakozási adataid, a felhasználók jogait pedig ugyanígy kezeld le.
2020. szept. 4. 01:15
Hasznos számodra ez a válasz?
 3/7 anonim ***** válasza:
58%
Csinalsz egy role tablat meg egy permissions tablat, osszekapcsolod egy role_permission-ban, roleId mehet a user tablaba igy dinamikusan tudsz munkakoroket rendelni a felhasznalokhoz, azin bellul is keverve tudsz view, delete stb jogosultsagot egy munkakorhoz
2020. szept. 4. 06:39
Hasznos számodra ez a válasz?
 4/7 anonim ***** válasza:
90%
Pontozzatok le nyugodtan, az akkor is anti-pattern, hogy magát a szoftvert használó felhasználót létrehozzuk az adatbázisban is. Mégis mi köze van neki az adatbázishoz, hogy hozzá kell férnie?
2020. szept. 4. 15:14
Hasznos számodra ez a válasz?
 5/7 A kérdező kommentje:
4: Ha nem hozzuk létre, akkor hol tároljuk a felhasználó adatait, beleértve a jelszavát is? Ezt mindenhol adatbázisba szokták nem? :).
2020. szept. 4. 15:23
 6/7 anonim ***** válasza:
100%

#4-es te szerintem valamit félreértesz, nem arról van szó, hogy minden alkalmazásuserhez külön DB user lenne létrehozva, csak a userek adatait egy normál alkalmazástáblában tároljuk. Ez teljesen általános minden rendszerben, hol máshol tárolnád?


Kérdező: én nem látok biztonsági problémát abban, ha az adatbázisban tárolod a jogosultság szinteket. Ha valaki azt át tudja updatelni, akkor gondolom bármi mást is az összes többi táblában, tök mindegy már hogy alkalmazásszinten milyen hozzáférése van, nem?

Ha csak szigorúan előre definiált hierarchikus hozzáférési szintek lesznek akkor lehet egy oszlop a user táblában, és behardkódolod az alkalmazáslogikába, hogy melyik mit csinálhat. De ha van rá esély, hogy a jövőben a változnak a hozzáférési szintek, akkor csináld úgy ahogy a #3-as írta.

2020. szept. 4. 15:33
Hasznos számodra ez a válasz?
 7/7 anonim ***** válasza:
100%

Lehet, hogy tényleg túlgondoltam.


Én az alábbi részt úgy értettem, hogy a felhasználónak fizikai hozzáférése lesz az adatbázishoz (ez lett volna az anti-pattern):

"hiszen ha valaki hozzáfér az adatbázishoz akkor csak szimplán átírja a jogosultságot."


De ha nem erről van szó, akkor nyilván csak annyi teendő van, hogy szoftverből nem engeded neki szerkesztenie a jogosultságát (ha mezei felhasználó) és akkor nem tud illetéktelen jogot szerezni magának. Nem is értem mit kell ezen magyarázni. Értelemszerűen SQL injection-re is gondolni kell, ha van olyan beviteli mező.

2020. szept. 4. 15:42
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!