![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 24.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
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? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
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. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 580 Pomógł: 85 Dołączył: 25.03.2010 Skąd: Skrzyszów :) Ostrzeżenie: (0%) ![]() ![]() |
@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 (IMG:style_emoticons/default/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
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.09.2025 - 14:11 |