前回で、Plone への統合Windfows認証によるシングルサインオンの目処が立ってきた。
いよいよ、Apache 側の設定を行って、統合 Windows 認証を実現してみる。
まず、
<Apacheインストールフォルダ>/conf/httpd.conf をテキストエディタで開き、末尾に下記設定を加筆する。
<Location /hoge>
AuthType SSPI
SSPIAuth On
require valid-user
SSPIOmitDomain On
SSPIUsernameCase lower
</Location>
"AuthType SSPI" で認証方法をSSPIとし、続く "SSPIAuth On" で mod_auth_sspi の機能を有効にする。あとは "require valid-user" で匿名アクセスを不許可とすれば必ず認証が求められるようになる。
"SSPIOmitDomain" と "SSPIUsernameCase" は必須ではない。お好みで。
当方、マルチドメイン環境ではなかったこと、Windowsドメインの区切り記号である\記号がPloneでどう扱われるか心配だったことから、"SSPIOmitDomain" を On に指定して、
DomainName/
UserName から
DomainName を除去したユーザー名を環境変数 REMOTE_USER に格納してもらうこととした。
また、ユーザー名の大文字・小文字の区別も要件として不要であったことから、いらぬ問題にぶつかることのないよう、"SSPIUsernameCase" を lower に指定して、ユーザー名は一律小文字に変換して環境変数 REMOTE_USER に格納してもらうこととした。
以上で Apache サービスを再起動し、ブラウザで http://localhost/hoge/Plone を開いてみると、成功!
Plone のログインフォームを経ることなく、現在操作中のWindowsドメインユーザー名で認証(もちろん、同時にPlone上のユーザーアカウントも自動追加)されていた。
ずいぶんと長いことかかってしまったが、こうしてようやく Plone への統合 Windows 認証によるシングルサインオンを実現することができた。
...しかしである。
喜んだのもつかの間、動作確認をしていくうちに、いくつか正常に動作しないケースが出てきた。
先に書いておくと、今回までの各種プロダクトの組み合わせや設定内容は基本的に問題なかった。追加の調整がまだ必要だったのだ。
この話題、まだもう少し続く。
つづく