さて、今度は、Plone に統合 Windows 認証に備えるべく、Remote User Folder という Zope プロダクトをインストールする。
で、結論を先に書いておくが、これはうまくいかなかった。
詳細や Zope プロダクトの入手先は割愛するが、元ネタ
plone.org - Single Sign On In Windows Domains の手順に従って、Remote User Folder Zope プロダクトをインストール。
まずは Apache を通さずに、http://localhost:8080/Plone をブラウザで開いてみる。
通常どおり、Plone ホームページが表示される。
続けて「ログイン」のリンクをクリックしたところ、

「クッキー認証が無効になっていると、クッキーを使ったログインができません。」などといわれてしまった。
たしかに、もとの acl_users フォルダは削除してしまい、いまや Remote User Folder による認証しか行われなくなったので、当たり前と言えば当たり前のエラーだ。
そこで次に、Apache の側に、mod_auth_sspi モジュールによる統合Windows認証を組み込んで、ほぼ実戦の設定で試してみる(今回はこの設定についての詳細は割)。
設定変更後、今度は Apache 経由で Plone にアクセス。http://localhost/hoge/Plone をブラウザで開くと...

「残念ですが、エラーがあったようです...」とエラーになってしまった。
Apache 側の統合 Windows 認証を有効にしただけで、このようなエラーになったということは、たしかに統合 Windows 認証によるシングルサインオンが機能し始めているらしい。それにしても何のエラーになっているのか。
Plone フォルダ以下の acl_users による認証では、どうやってもログインできない状況となっているため、このままではエラーログの閲覧もままならない。
が、ルートフォルダの管理ページにHTTP認証で管理者アカウントでログインしてから(つまり、http://localhost:8080/manage をブラウザで開き、基本認証ダイアログに管理者アカウントでログイン)、Plone フォルダへ移動すれば、管理者アカウントでログインした状態で Plone 上を歩くことができる。
こうして Plone ホームページ右上の「サイト設定」から「エラーログ」を開き、エラーログを見てみると...

「エラーの種類 = AttributeError, エラーの値 = getGroups」とのこと。どうやら、ログインユーザーの所属グループを取得しようとしてエラーになってるようだ。
Remote User Folder は既存の acl_users フォルダと完全に入れ替えて使うようなのだが、たしかに Zope 管理画面から確認しても、Remote User Folder にはそもそも Plone の "グループ" という概念や機能はないようだ。
つまり、Remote User Folder は、Zope のレイヤでは利用できても、Zope 上で動作している Plone では使えない、ということなのかもしれない。
実際、現代の Plone には PAS (Pluggable Auth Service) という仕組みが備わっており、認証の仕組みをいじるには PAS 経由で機能する認証プラグインを実装せよ、というのが時代の流れらしい。
ということで Remote User Folder の利用はあきらめて、代替策を探した方がよさそうだ。
で、先に書いてしまうと、幸い、代替策は見つかった。詳細はまた後日。
とりあえず、Zope 管理ページから acl_users フォルダの差し替えを Undo し、Apache の設定変更も元に戻して、今回の作業を白紙に戻しておく。
つづく