Статья, на которую вы ссылаетесь, может быть использована для этого, но есть некоторые предостережения.
Повторная аутентификация сервера приложений, поскольку разные пользователи, использующие Kerberos, вероятно, нереальна.Насколько мне известно, Kerberos (по общему признанию, ограничен), он спроектирован так, чтобы взаимодействие с конечным пользователем требовалось для фактического подтверждения подлинности.Пользователь выполняет рукопожатие с сервером приложений через HTTP - на самом деле не существует механизма, чтобы попросить его пройти повторную аутентификацию с самой БД.
Вы можете использовать их перехватчики для выдачи "УСТАНОВИТЬ АВТОРИЗАЦИЮ СЕССИИ В... »команды PostgreSQL, однако, если ваш сервер приложений выполняет свои подключения к БД в качестве суперпользователя.Это на самом деле не выполняет повторную аутентификацию, просто временно меняет роль авторизации сеанса.
Вы также можете использовать одно из бесчисленных решений «хранить некоторую информацию о сеансе в БД» (пользовательские переменные, PL / Perl и т. Д. Globalпеременные) и использовать их крючки для работы с этим.На самом деле это то, что, по-видимому, делает их решение Oracle: оно устанавливает идентификатор клиента, который iirc является просто глобальной переменной в dbms_util где-то, что включено в представления, показывающие текущие сеансы (а postgresql 9.0 имеет «имя приложения», которое выполняет ту же роль)