Страница 1 из 1

Сквозная аутентификация

Добавлено: 09 ноя 2012, 20:15
sparky
Доброе время суток, необходимо реализовать механизм сквозной аутентификации между серверами Firebird.
Алгоритм следующий:
1. Пользователь1 пытается обратиться к данным Сервера1;
2. Сервер1 получив от Пользователя1 учетные данные (логин, пароль), обращается к Серверу2 пересылая ему эти учетные данные;
3. Сервер2 проверяет учетные данные Пользователя1, если на Сервере2 данный пользователь отсутствует или пароль не верен Серверу1 высылается сообщение об ошибке, если же учетные данные верны Серверу1 высылается сообщение о правильности учетных данных;
4. Сервер2 олицетворяет Пользователя1 с Пользователем2 и ему предоставляется доступ к данным.
Понятия:
Сервер1: сервер БД, к которому хочет обратиться пользователь принадлежащий другому серверу распределенной БД;
Сервер2: сервер БД, к которому принадлежит пользователь, которому необходимо обратиться к другому серверу распределенной БД;
Пользователь1: пользователь, которому необходимо обратиться к данным Сервера1, но он зарегистрирован на Сервере2;
Пользователь2: пользователь зарегистрированный на Сервере1, с этим пользователем будет олицетворен Пользователь1.

Как реализовать хранимую процедуру, которая сможет ответить на вопрос существует ли пользователь с заданным паролем? насколько понимаю вытащить хеш из таблицы RDB$USER нельзя... Как тогда быть? Функции получения хеша по пароля, например как в oracle нет...

Re: Сквозная аутентификация

Добавлено: 12 ноя 2012, 01:00
kdv
ничего не выйдет. пользователь1, зарегистрированный на Сервере2, никак не сможет подключиться к Серверу1.
На этом можно и закончить, т.к. такого механизма в ФБ (и в ИБ) нет. Вам нужно использовать какие-то другие механизмы для аутентификации, и думаю что трехзвенка тут самое то.