Category:
Web
admin_auth_apache というプラグインを作ってみた。公開するの面倒なので、とりあえず記事だけ。
Apache の WWW 認証(Basic とか Digest とか)を通過したユーザを、Wiki の一般ユーザとして自動的に認証するというものです。
(ただし同名のユーザがローカルユーザとして存在し、かつ、管理者権限を与えられている場合は、管理者ユーザとして認証する。)
Apache の mod_authnz_ldap モジュールと組み合わせれば FSWiki-LDAP 環境のできあがり。
利用ケースとしては、会員のみ閲覧可能な(WWW 認証で保護された領域内にある)Wiki サイトで、限られたユーザにのみ管理者権限を与えたい場合…とか、かな。
管理者権限が必要なユーザについては、同名のユーザを FSWiki のローカルユーザ一覧に、パスワード空欄で作成しておく(つまり、ローカルユーザとして認証することはできない)。
管理者は WWW 認証 + Wiki 認証と 2 重に認証する手間が省けるし、管理者権限を外す場合はローカルユーザを削除するだけでよい。パスワードの保存個所を集約できる。
また、一般ユーザにもご利益があって、
* {{comment}} のデフォルトの「お名前」として、WWW 認証で使用したユーザ名が表示されるようになる
* editlog プラグインで、WWW 認証のユーザ名で記録される
などなど、わざわざ Wiki にログインしなければ利用できなかった機能が、WWW 認証一発で使えるようになります。
ただ、ファイル認証の htpasswd を書きかえる手間を考えると、LDAP 連携じゃないと利点が薄いか...。
WWW 認証のバックエンド側(例えば LDAP)でアカウントを無効にしてしまえば、ローカルユーザ一覧に管理者権限を持つユーザとして登録されていても無意味、というところがミソなので。
Apache の WWW 認証(Basic とか Digest とか)を通過したユーザを、Wiki の一般ユーザとして自動的に認証するというものです。
(ただし同名のユーザがローカルユーザとして存在し、かつ、管理者権限を与えられている場合は、管理者ユーザとして認証する。)
Apache の mod_authnz_ldap モジュールと組み合わせれば FSWiki-LDAP 環境のできあがり。
利用ケースとしては、会員のみ閲覧可能な(WWW 認証で保護された領域内にある)Wiki サイトで、限られたユーザにのみ管理者権限を与えたい場合…とか、かな。
管理者権限が必要なユーザについては、同名のユーザを FSWiki のローカルユーザ一覧に、パスワード空欄で作成しておく(つまり、ローカルユーザとして認証することはできない)。
管理者は WWW 認証 + Wiki 認証と 2 重に認証する手間が省けるし、管理者権限を外す場合はローカルユーザを削除するだけでよい。パスワードの保存個所を集約できる。
また、一般ユーザにもご利益があって、
* {{comment}} のデフォルトの「お名前」として、WWW 認証で使用したユーザ名が表示されるようになる
* editlog プラグインで、WWW 認証のユーザ名で記録される
などなど、わざわざ Wiki にログインしなければ利用できなかった機能が、WWW 認証一発で使えるようになります。
ただ、ファイル認証の htpasswd を書きかえる手間を考えると、LDAP 連携じゃないと利点が薄いか...。
WWW 認証のバックエンド側(例えば LDAP)でアカウントを無効にしてしまえば、ローカルユーザ一覧に管理者権限を持つユーザとして登録されていても無意味、というところがミソなので。
Comments