Настройте Apache для использования аутентификации SQL Server

Настройте Apache для использования аутентификации SQL Server

Я считаю, что можно настроить Apache на использование SQL Server для аутентификации. Вы предоставляете параметры подключения к БД и запрос для выполнения. Я предполагаю, что контракт выглядит примерно так:

Если запрос возвращает что-либо, пользователь аутентифицирован, а если результаты запроса пусты, пользователь неизвестен.

Кто-нибудь знает, как это настроить?

решение1

Я только что понял это для Apache 2.4 на Windows 2012. Думаю, для Apache 2.2 изменения будут незначительными.

Раскомментируйте необходимые строки LoadModule в httpd.conf:

  • модуль_аутн_бд_
  • модуль_аутн_бдм
  • dbd_модуль

Создайте подключение ODBC к SQL Server:
Администратор источника данных ODBC, Системный DNS, Добавить..., введите необходимую информацию и запомните «Имя» для дальнейшего использования.

Настройте аутентификацию в Apache:

DBDriver odbc
DBDParams "datasource=<Name here>,user=...,password=..."

<Location /secure>
   AuthType Basic 
   AuthName "Secure Area" 
   AuthBasicProvider dbd
   Require valid-user
   AuthDBDUserPWQuery "SELECT '$apr1$' + PasswordSalt + '$' + Password FROM <your table> WHERE UserName = %s"
</Location>

Надеюсь, это поможет вам двигаться в правильном направлении.

решение2

Я не знаю, поддерживается ли mssql. Может быть, если вы добавите его в pam, а затем пройдете через это. mod_auth_mysql — для mysql, mod_auth_pgsql — для postgresql, а mod_auth_dbi — для generic db intefrace.

Связанный контент