putrycy
13.06.2007, 19:48:30
Witam!
Zaznaczę od razu, że jestem początkujący... Może i jest to gdzieś opisane, ale ja (czy to przez ślepotę czy brak szczęścia) odszukać wlaściwej informacji nie mogę:/
Na jakiej zasadzie tworzone są projekty z użytkownikami...? Tj. chodzi mi o coś takiego: Jeżeli chciałby stowrzyć forum, to dostaję powiedzmy jedną bazę danych i jednego użytkownika. Raczej mało prawdopodobne, żeby ten miał możliwość tworzenia nowych użytkownków... Jeżeli tak to dane takie jak hasło czy i login nie mogą być zabezpieczane przed nieautoryzowanym odczytem, tj. nie mogą być zabezpieczone na poziomie serwera bazy danych.
A nawet jeżeli dałoby się tworzyć nowych użytkowników, to przecież oni są widoczni w całym klastrze. A na takim serwerze może mieć chęć założyć forum nie tylko jeden użytkownik no i lipa byłaby, gdyby tylko jeden mógł utworzyć login 'pawel' a pozostali juz musieli swoim użytkownkom forum przydzielać ("") jakieś kosmiczne nazwy.
Podejrzewam, że jakoś jest to rozwiązane raczej pierwszym niż drugim sposobem... A może zupełnie błądzę...(??)
Prosiłbym o pokazanie mi relacji i filozofii działania tego typu projektów..
Z góry wieeeelkie podziękowania.
SongoQ
13.06.2007, 20:13:39
Moze forum to zly przyklad bo tam nie wymaga sie baz wielouzytkownikowych.Takie rzeczy raczej stosuje sie aplikacjach gdzie wymagane jest duze bezpieczenstwo po stronie bazy lub projekt takie cos zaklada. Wsumie mialem tylko raz pracowac nad tamim projektem, gdzie uprawnienia byly tylko i wylacznie nadawane po stronie bazy aplikacja dzialala sobie na userach bazodanowych.
Opisze tak w skrocie jak to bylo realizowane.
- grupu uzytkownikow
- anonymous - niezalogowany ktory ma ograniczone prawa itd
- user
- redaktor
Uprawnienia byly cos na wzor ACL, ale to maly szczegol. Na samym poczatku powiem ze bazka to byl Oracle. Dostep byl jedynie do funkcji i widokow. Jesli user z nieodpowiednim uprawnieniem pytal widok o dane to dostawal pusty zbior, podobnie bylo z funkcja dostawal exception itd itd - lub false. Logowanie przez funkcje gdzie podawalo sie usera i password. Jesli bylo ok to za kazdym razem laczenie do bazy bylo po przez dane ktore sie logowal juz dokladnie nie pamietam jak to bylo powiazane z kontami systemowymi i jak bylo mieszane to z haslem ale w sessji dane byly zapamietywane i kazde wywolanie requesta na podstawie danych z sessji nawiazywaly polaczenie z baza i dane byly zwracane.
Z tego co gdzies wyczytalem to takie rzeczy czesto sie przenosi na bazki oczywiscie to zalezy od specyfiki projektu. Dla forum poprostu nie ma sensu. Dodam tez ze takie dzialanie wymaga raczej wlasnych maszyn bo dostep do bazki musi byc w przypadku Oracle jak i PG do userow z superuprawnieniami.
Mam nadzieje ze Ci to troche rozswietlilo
putrycy
13.06.2007, 20:44:02
Tak... tak... Myślę, że rozjaśniło.
P.S. W międzyczasie znalazłem, że PG da się tak sonfigurować, żeby użytkownicy byli nie na klaster ale baze (pewnie oczywiste, ale nie dla mnie [było] ;]). Także problem loginów po części byłby rozwiązany.
Jeszcze raz wielkie dzięki.
P.S.
Jakby ktoś coś miał do dorzucenia od siebie to oczywiście temat nie jest zamknięty.
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.