Apache DBD authn ODBC MSSQL не работает - PullRequest
0 голосов
/ 30 октября 2019

Я следую за этим вопросом ( Как использовать mod_authn_dbd с SQL Server (ODBC) ) для настройки Apache 2.4 (в Debian 9 последней версии) для аутентификации моего пользователя в MS-SQLБаза данных.

Моя цель - защитить сервер OCSInventory. В z-ocsinventory-server.conf я добавляю:

DBDriver odbc
DBDParams "DATASOURCE=ODBCSRV,USER=ocs,PASSWORD=ocspwd"

DBDMin 4
DBDKeep 8
DBDMax 20
DBDExptime 300

В разделе "Местоположение / ocsinventory"

AuthType Basic
AuthName "OCS Inventory agent area"
# AuthBasicProvider socache dbd
AuthBasicProvider dbd
# AuthnCacheProvideFor dbd
# AuthnCacheContext my-server
AuthDBDUserPWQuery "SELECT Password as password FROM OCS WHERE login=%s"
# AuthBasicProvider    file
# AuthUserFile "/etc/apache2/htpasswd.users"
require valid-user

В файле odbc.ini

[ODBCSRV]
Driver = ODBC Driver 17 for SQL Server
Server = ipserver

Попытка доступа к базе данных с помощью isql прекрасно работает. Выполните запрос также.

Пароль возврата из запроса в AuthDBDUserPWQuery имеет префикс {SHA}, но он не работает. В журнале Apache появляется «Несоответствие пароля».

Работает тот же пользователь / пароль в файле htpasswd. Поэтому я думаю, что проблема заключается в конфигурации ODBC. Некоторые корректировки в операторе SQL возвращают «нормальную» ошибку. Для примера: вызвать несуществующего пользователя, журнал apache показывает «пользователь не найден». - укажите несуществующий столбец, в журнале apache ошибка «столбец не найден».

Я также пытаюсь урезать () пароль, но безрезультатно.

Любое предложение может быть оцененопомогите мне решить эту проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...