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.