Configure o Apache para usar a autenticação do SQL Server

Configure o Apache para usar a autenticação do SQL Server

Acredito que seja possível configurar o Apache para usar o SQL Server para autenticação. Você fornece os parâmetros de conexão do banco de dados e uma consulta para executar. Suponho que o contrato seja algo como:

Se a consulta retornar algo, o usuário será autenticado e se os resultados da consulta estiverem vazios, o usuário será desconhecido.

Alguém sabe como posso configurar isso?

Responder1

Acabei de descobrir isso para o Apache 2.4 no Windows 2012. Acho que as mudanças seriam pequenas para o Apache 2.2.

Remova o comentário das linhas LoadModule necessárias em httpd.conf:

  • authn_dbd_module
  • authn_dbm_module
  • módulo_dbd

Faça uma conexão ODBC com o SQL Server:
Administrador de fonte de dados ODBC, DNS do sistema, Adicionar..., preencha suas informações específicas e lembre-se do "Nome" para mais tarde.

Configure a autenticação no 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>

Espero que isso o leve na direção certa.

Responder2

Não sei se mssql é compatível. Talvez se você adicionar ao pam e depois passar por isso. mod_auth_mysql é para mysql, mod_auth_pgsql para postgresql e mod_auth_dbi para interface de banco de dados genérica.

informação relacionada