SQL Server 인증을 사용하도록 Apache 구성

SQL Server 인증을 사용하도록 Apache 구성

인증을 위해 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용입니다.

관련 정보