Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: role w bazie + role w aplikacji
Forum PHP.pl > Forum > Bazy danych
tryhp3
Mam w bazie kilka różnych ról np:
-użytkownik (nie zalogowany do aplikacji)
-admin
-student
Każda z tych ról ma uprawnienia do odpowiednich tabel w tej bazie. Jak w aplikacji wybrać odpowiedni login i hasło dla konkretnej roli?
Czy dobrym wyjściem jest wykonywanie połączenia z bazą danych w funkcji init() każdego kontrolera i wybranie odpowiedniego loginu i hasła dla konkretnego użytkownika (admin lub student).

Czy może w takich sytuacjach robi się jedną rolę w bazie danych dla wszystkich użytkowników w aplikacji www?
vokiel
Do logowania możesz stworzyć specjalnego użytkownika, z dostępem do tabeli użytkowników, tylko do odczytu.

Ogólnie rzecz biorąc, prawa użytkowników w bazie danych to kolejna warstwa zabezpieczeń. Korzystając z wirtualnych hostingów często masz jednego użytkownika na jedną bazę. Zatem wtedy wyboru nie ma. Mając własny hosting, lub jakiś bardziej zaawansowany można coś takiego zrobić. Odpowiednio nadane prawa: do tabel, do operacji (SELECT, DELETE, UPDATE) mogą podnieść bezpieczeństwo w przypadku jakiś SQL Injection. Ogólnie lepiej do nich nie odpuścić w ogóle, ale jeśli by się wydarzyły, to jest kolejna linia obrony.
zend
@tryhp3 - we wakacje z kilkoma osobami pracowaliśmy nad systemem do e-learningu, podział uprawnień jaki podałeś odpadł już na drugim meetingu, z powodu znacznej komplikacji które by wniósł, jeśli tylko nie tworzysz systemu bankowego smile.gif to metoda podana przez vokiela jest o niebo lepsza, z tym że nawiązywać połączenie musiał byś w akcjach a nie w inicie (ewentualanie jakaś mapa w inicie), obie podane metody są pracochłonne, najlepiej gdyby sam framework (ew jakiś Twój system) zabezpieczał dane od użytkowników tak żeby nie trzeba było stosować wyżej wymienionych metod
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.