인증을 위해 SQL Server를 사용하도록 Apache를 구성하는 것이 가능하다고 생각합니다. DB 연결 매개변수와 실행할 쿼리를 제공합니다. 내 생각에 계약은 다음과 같다.
쿼리가 무언가를 반환하면 사용자는 인증된 것이며 쿼리 결과가 비어 있으면 사용자를 알 수 없습니다.
이것을 어떻게 구성할 수 있는지 아는 사람이 있나요?
답변1
방금 Windows 2012의 Apache 2.4에 대해 이것을 알아냈습니다. Apache 2.2에서는 변경 사항이 미미할 것이라고 생각합니다.
httpd.conf에서 필요한 LoadModule 행의 주석 처리를 제거하십시오.
- authn_dbd_module
- authn_dbm_module
- dbd_모듈
SQL Server에 대한 ODBC 연결을 만듭니다.
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는 일반 db intefrace용입니다.