autoryzacja użytkowników - problem

0

Witam
Piszę aplikacje oparta na Java + Oracle. I mam problem, poniewaz nie wiem w jaki sposob zrobic autoryzacje uzytkowników.
Myslalem zrobic to nastepujaco :

  1. Utworzyc 3 konta w oraclu : anonim, user , admin.
  2. uzywajac konta anonim sprawdzac w dodatkowej tabeli USERS czy podano odpowiedni login i haslo, jezeli tak to przelogowac uzytkownika na konto user albo admin.
    Sprawdzenie i przelogowanie powinno miec miejsce w procedurze skladowanej.

Czy jest to dobre rozwiazanie ? Jak robi sie takie rzeczy w praktyce ? Moze lepiej nie zawracac sobie glowy dodatkowa tabela z userami, wszystkich uzytkownikow tworzyc bezposrenio w bazie, i nadawac im tylko odpowiednie role.

0

Eeee, nie. Zwykle trzymasz dane uzytkownikow w jednej tabeli razem z danymi uwierzytelniajacymi (np. md5 hasla). Uzytkownik do bazy jest jeden, bo dostep do niej i tak zwykle odbywa sie nie bezposrednio. Procedurze podajesz nazwe uzytkownika i md5 hasla, procedurka robi zwyklego selecta z bazy na okolicznosc wystapienia obu danych na raz i jak ilosc zwroconych wierszy > 0 to mozna zalogowac uzytkownika, a jak nie to blad.

0

Zależy, jak wysoki poziom bezpieczeństwa chcesz osiągnąć i jaki masz dostęp do bazy. Najbardziej bezpiecznym rozwiązaniem (ale wymagającym najszerszego dostępu) jest właśnie tworzenie indywidualnych kont dla użytkowników w samej bazie i operowanie rolami - niech serwer męczy się z autoryzacją.

Jak nie masz takiego dostępu (bo serwer hostingowy, bo cośtam innego), program z zakodowanym na sztywno (!) kontem i hasłem, łączysz i obsługujesz logowanie w oparciu o rezultat tabeli userów: login, md5(hasło). Nie przelogowujesz, ale wtedy ciężar logiki biznesowej z serwera przenosisz na aplikację (co też nie jest dobrym wyjściem). Jest to mało bezpieczne rozwiązanie, ale często jedyne możliwe do implementacji w danym systemie.

Wydobycie z programu konta/hasła (czasem wprost z plików konfiguracyjnych) może pozwolić właściwie na przejęcie bazy danych, w ramach uprawnień poznanego konta.

0

btw olek_j nie opisujesz problemu autoryzacji a z uwierzytelniania
http://pl.wikipedia.org/wiki/Autoryzacja_%28informatyka%29
http://pl.wikipedia.org/wiki/Uwierzytelnianie

1 użytkowników online, w tym zalogowanych: 0, gości: 1