![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 16.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam serdecznie.
Przegladalem caly dzial dotyczacy Postgresa. Otoz borykam sie z tym od kilku dni i jestem w kropce. Przejalem obsluge psql po adminie, ktory korzystal z cgi i c++ do obslugi bazy. Ja natomiast chcialbym troche to zrobic po swojemu no i jest problem. W c++ by polaczyc sie z okreslona baza wykorzystuje sie polecenie mag.connect, po tym okresla sie zmienna user i haslo. Po wpisaniu okreslonego user'a jak i hasla w formularzu logowania nastepuje polaczenie z okreslona baza. (Baza psql posiada zapisanych w "pg_user" okolo 10 uzytkownikow). Z tego co wyczytalem w necie przy php nie ma takiej mozliwosci - musze utworzyc dodatkowa baze uzytkownikow i korzystajac z niej logowac sie do bazy przez www. Czy moje rozumowanie jest prawidlowe, jezeli tak to troche bez sensu tworzyc dodatkowa baze uzytkownikow, jezeli sam psql przechowuje te informacje w swoich zasobach. Pomimo, ze funkcja pg_connect pozwala stosowac zmienne odnosnie uzytkownika i hasla to jednak nie pozwala dostac sie bezposrednio do zapisanych w psql'u uzytkownikow. Prosze o rozwianie moich watpliwosci. Pozdrawiam Jacek ps. klawiatura bez polskich znakow Ten post edytował sbs2005 16.06.2011, 18:24:59 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Kurna nie pomyslalem by zaczac od negacji - baran ze mnie (IMG:style_emoticons/default/smile.gif) Nie chodzi o samą negację, ale o umieszczenie linijki w odpowiednim bloku instrukcji if ... else .... Wiem, wiem mortus - kontrola na poziomie bazy danych jest tu szczegolowo okreslona i podporzadkowana wytycznym. Formularze stworzone przeze mnie na podstawie baz beda pozwalac na dodawanie i edytowanie rekordow ew. wyszukiwac i drukowac okreslone informacje. Tylko musisz wiedzieć, że przy takim podejściu, jakie zastosowałeś, użytkownik nie potrzebuje Twojego formularza, bo może się połączyć z serwerem za pomocą dowolnego zewnętrznego klienta. Wtedy wszystko "jawnie" widzi (np. całą tabelę w określonej bazie danych) i może nabroić mając choćby przywilej do UPDATE. Dlatego w ramach jednego systemu autoryzację przeprowadza się poprzez tabelę użytkowników tego systemu, a nie poprzez konta użytkowników samego PostgreSQL-a, MySQL-a, czy tym podobnego. I to niezależnie od zastosowanego języka programowania. Pisałem o tym w pierwszej mojej odpowiedzi tutaj. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 14:54 |