Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как подключиться к PostgresSQL, если стоит machine authentication 
:(
    Опции темы
djiva
  Дата 3.9.2005, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 1.9.2005

Репутация: нет
Всего: нет



Здраствуйте!

Как подключиться к PostgresSQL с помщью jdbc, если стоит machine authentication?


Заранее большое спасибо!
PM MAIL   Вверх
tux
Дата 4.9.2005, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 31
Всего: 132



В PostgreSQL есть такие методы идентификации пользователя:
  • trust
  • reject
  • md5
  • crypt
  • password
  • krb4
  • krb5
  • ident
  • pam
Из них JDBC-драйвер поддерживает trust, ident, password, md5 и crypt. Что из этого имеется ввиду. Или предполагается что-то из другой области?
PM MAIL Skype GTalk Jabber YIM   Вверх
djiva
Дата 4.9.2005, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 1.9.2005

Репутация: нет
Всего: нет



ой. я об этих методах идентификации ничего не знаю.

Я до этого в основном пользовался jdbc-odbc соединениями.

А какой из них мне нужно использовать при подключении к PostgresSQL?

Если можно дайте пример кода или ссылку.

Заранее огромная благодарность!
PM MAIL   Вверх
tux
Дата 4.9.2005, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 31
Всего: 132



Методы идентификации означают следующее (перечислю только то, что поддерживается JDBC, об остальных особого смысла упоминать нет):
  • trust - разрешает соединение безусловно, не запрашивает имя и пароль;
  • ident - использует для идентификации имя пользователя в операционной системе;
  • password - пользователь идентифицируется с помощью имени и пароля, пароль передается по сети открытым текстом;
  • md5 - то же, что и password, но пароль шифруется по алгоритму md5;
  • crypt - похож на md5, но метод устаревший, не рекомендуется использовать.
Теперь о том, как задать способ идентификации. В PostgreSQL есть набор файлов конфигурации (обычно расположены в каталоге data там где установлен сервер. Способы идентификации задаются в файле pg_hba.conf. В подробности вдаваться не буду, просто приведу несколько примеров как можно задать параметры.
Если PostgreSQL расположен на локальной машине, то можно задать в этом файле такую строку:
Цитата
local  all        all                                            trust

или такую
Цитата
host    all        all        127.0.0.1        255.255.255.255  trust

Это означает, что все подключения с локальной машины не требуют задания имени/пароля (то есть можно задавать любые).
Если подключение выполняется удаленно, то можно задать способ подключения так:
Цитата
host    template1  all        192.168.12.10    255.255.255.255  md5

Здесь задан способ подключения для конкретного ip-адреса (192.168.12.10) и задание имени пользователя и пароля с шифрованием по md5.
Такая строка задает способ подключения для группы машин в сети:
Цитата
host    template1  all        192.168.93.0/24      md5

Будет разрешено подключение способом md5 для всех машин в подсети 192.168.93.*.
Во всех строках конфигурации второй параметр - это имя базы данных, к которой разрешается подключение (all означает "ко всем базам данных"), третий - пользователя, котором размешено подключение (all - все пользователи), четвертый - адрес машин(ы) и пятый - способ идентификации. Для подключений к удаленной машине рекомендуют использовать md5 из-за шифрации пароля при передаче по сети. Есть еще методы подключения с шифрованием трафика от клиента к серверу и обратно, об этом при необходимости можно посмотреть в документации.
Естественно, если использовать для подключения имя/пароль пользователя нужно этого пользователя сначала создать с помощью команды PostgreSQL "CREATE USER". например, так:
Код

CREATE USER davide WITH PASSWORD 'jw8s0F4';

Ну а подключение к базе данных и работа с ней как обычно, с любым другим JDBC-драйвером:
Код

Connection db;
Statement st;

String url = "jdbc:postgresql://localhost/template1";
String usr = "user";
String pwd = "password";

Class.forName("org.postgresql.Driver");

db = DriverManager.getConnection(url, usr, pwd);

st = db.createStatement();

...

st.close();
db.close();

PM MAIL Skype GTalk Jabber YIM   Вверх
batigoal
Дата 4.9.2005, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 24
Всего: 151



tux
Спасибо за подробный ответ. Думаю, это можно поместить в FAQ.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
tux
Дата 4.9.2005, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 31
Всего: 132



Цитата(Lamer @ 4.9.2005, 19:19)
Спасибо за подробный ответ. Думаю, это можно поместить в FAQ.

Тогда бы подредактировать.
PM MAIL Skype GTalk Jabber YIM   Вверх
djiva
Дата 4.9.2005, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 1.9.2005

Репутация: нет
Всего: нет



Спасибо огромное! Надо попробовать.

Это сообщение отредактировал(а) djiva - 4.9.2005, 14:40
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0527 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.