Apache pozwala na bardzo proste zabezpieczenie dostępu do serwisu z wykorzystaniem użytkowników znajdujących się w bazie danych, a dokładniej w tym przypadku w postgresie.
Oprócz modułu mod_auth należy dodać auth_pgsql oraz odpowiednio skonfigurować dane bazy:
AuthName "relam name" AuthType basic AuthBasicAuthoritative Off Auth_PG_host localhost Auth_PG_port 5432 Auth_PG_user db_user Auth_PG_pwd db_password Auth_PG_database db_name Auth_PG_pwd_table table_name Auth_PG_uid_field field_username Auth_PG_pwd_field field_password Auth_PG_encrypted off require valid-user |
Jak widać na przykładzie podajemy dane dostępowe do serwera, bazy danych, tabeli i nazwy pól. Mam nadzieję, że konwencja którą przyjąłem jest łatwa do odgadnięcia gdzie należy wpisać odpowiednie dane.
Przy autoryzacji tego typu należy pamiętać, że hasło jest z przeglądarki wysyłane otwartym tekstem, więc na połączeniu nieszyfrowanym jest ono łatwe do przechwycenia.