Trac/LoginRedirectPlugin
anonymousユーザに対して一切の権限を付与していないプロジェクトにおいては、TracのトップページURLにアクセスした場合に必ず「エラー」ページが表示されてしまいます。
ユーザによっては、これが不評となるような場合もあるようで。「ログインが必要なんだったら最初からログインページを表示して欲しい」とかそういう感じでしょうか。
ってことで、認証エラーだった場合、自動的にログインURLにリダイレクトに遷移させるプラグインを作ってみました。
ダウンロードはこちらから: LoginRedirect-r99.zip (2.0K)
【設定における注意点】
有効にするモジュールとしては、認証されていない場合にログイン用URLにリダイレクトするモジュールと、ログイン完了後に元々アクセスしようとしていたURLに戻すためのモジュール(CustomLoginModule)の2種類があります(2つ目のモジュールを有効にしないと、ログイン直後に表示されるページが、Refererの値の都合上WikiStartに固定されてしまいます)。
同時に、Trac標準のLoginModule(trac.web.auth.LoginModule)を無効化する必要があります。
それ以外の設定等は特に何もなく、(認証エラーの際に)自動的にログインURLに遷移するようになります。
通常のLoginModuleはhttpヘッダーのRefererから取得しておりますが、このプラグインではCookieを経由して値を取得するようにしております。ですので、Cookieを無効化されている場合は正しく動作しなくなりますが、Tracは元々Cookieが無効な環境では認証情報の維持ができないようなので、問題にはならないでしょう(^^;
【その他注意点】
ログインモジュールを書き換えて使用しているため、AccountManagerPluginのフォーム認証用ログインモジュールなどとの併用はできません。もちろん、ソースコードレベルで書き換えてしまえばどのようにでもなると思いますが。
TrackBack
TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/3959/43028480
Listed below are links to weblogs that reference Trac/LoginRedirectPlugin:










![アスキー: UNIX MAGAZINE (ユニックス マガジン) 2008年 01月号 [雑誌]](http://ecx.images-amazon.com/images/I/11Z7w19zJ3L.jpg)













Comments