Windows上のApache httpdでドメイン認証を使う
mod_auth_sspiを使うとドメインアカウントによる認証が可能です。例えば、Active Directory環境にあるSubversionリポジトリの認証をシングルサインオン化できたりします。
使い方はとても簡単です。
- ドメインに参加済みとします。
- Apache httpdをインストール済みとします。
- http://sourceforge.net/projects/mod-auth-sspi/ からアーカイブを入手します。
- アーカイブに含まれる mod_auth_sspi.so をApache httpdのモジュールディレクトリにコピーします。
- 設定ファイルに以下を追加し、Apache httpdを再起動します。
# サイト全体にWindows認証を適用する # (最小限の設定です) <Location /> AuthType SSPI SSPIAuth On SSPIAuthoritative On Require valid-user </Location>
mod_auth_ntlm_winbindより簡単に使えるのでおすすめです。アプリケーションや環境によって追加設定が必要ですが、大抵はググると見つかります。
ちなみに、CollabNet Subversion Edgeにはすでに mod_auth_sspi.so が入っていたりします。
Options of mod_auth_sspi
残念ながらmod_auth_sspiの公式ドキュメントはないようです。ソースコードから設定項目をまとめてみました。参考になりましたら幸いです。
Name | Type | Description |
---|---|---|
SSPIAuth | flag | set to 'on' to activate SSPI authentication here |
SSPIOfferSSPI | flag | set to 'off' to allow access control to be passed along to lower modules if the UserID is not known to this module |
SSPIAuthoritative | flag | set to 'off' to allow access control to be passed along to lower modules if the UserID is not known to this module |
SSPIOfferBasic | flag | set to 'on' to allow the client to authenticate against NT with 'Basic' authentication instead of using the NTLM protocol |
SSPIPackage | string | set to the name of the package you want to use to authenticate users |
SSPIPackages | string | set to the name of the package you want to use to authenticate users |
SSPIDomain | string | set to the domain you want users authenticated against for cleartext authentication - if not specified, the local machine, then all trusted domains are checked |
SSPIOmitDomain | flag | set to 'on' if you want the usernames to have the domain prefix OMITTED, on = user, off = DOMAIN\user |
SSPIUsernameCase | string | set to 'lower' if you want the username and domain to be lowercase, set to 'upper' if you want the username and domain to be uppercase, if not specified, username and domain case conversion is disabled |
SSPIBasicPreferred | flag | set to 'on' if you want basic authentication to be the higher priority |
SSPIMSIE3Hack | flag | set to 'on' if you expect MSIE 3 clients to be using this server |
SSPIPerRequestAuth | flag | set to 'on' if you want authorization per request instead of per connection |
(mod_auth_sspi.c in mod_auth_sspi-1.0.4-2.2.2.zip)