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:

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.