Tracの認証付フィードをRSSリーダで受信できました。
先日「Tracの認証付フィードをRSSリーダで受信したいんですが・・・」というエントリーを書きましたが、
解決できました。
もしかすると他の方の参考になるかも?しれないので、
失敗事例としてエントリーを作成
うまくいかなかった時
同一のディレクトリにsubversion用、trac用のディレクトリに配置して、
そのパスワードファイルを共通化するために共通のパスワードファイルをsubversion用のディレクトリの配下に作成。
http.confに定義を作成していました。
ディレクトリの構造はこんな感じ
/home
∟svn ←subversion用のディレクトリ
∟.htpsswd ←パスワードファイル
∟trac ←trac用のディレクトリ
http.confの定義
<LocationMatch “/[^/]+/login”>
AuthType Digest
AuthName “Trac&Svn Auth”
AuthUserFile /home/svn/.htpsswd
Require valid-user
</locationMatch>
うまくいった時
これだと/home/svn以下のディレクトリに対しては、同じ認証が生きますが、/home/tracには及ばないようです。
(ブラウザ経由では、勝手に処理してくれるみたいなので問題ないのですが、RSSリーダなどでは問題だったみたいです。)
そんなわけで次のようにパスワードファイルの配置を各ディレクトリと同じ(各ディレクトリの内部から見ると上位のディレクトリ)変更したところ、うまくいきました。
/home
∟svn ←subversion用のディレクトリ
∟trac ←trac用のディレクトリ
∟.htpsswd ←パスワードファイル
http.confの定義
<LocationMatch “/[^/]+/login”>
AuthType Digest
AuthName “Trac&Svn Auth”
AuthUserFile /home/.htpsswd
Require valid-user
</locationMatch>
.htaccessが上位のディレクトリの影響をうけることは知っていましたが、パスワードファイルの配置も影響を受けるとは知りませんでした。
anonymousユーザから権限剥奪
これで、ログインIDを持たないユーザに不必要に情報を開示しなくてもRSSを認証付で配信できるようになりましたので、anonymousユーザから権限を全て剥奪しました。
cococ、ThunderbirdやGooRSSReaderなどの認証付RSSに対応したRSSリーダでは、次のようなURLをセットします。/loginがキモです。
http://www.hogehoge.com/SampleProject/timeline/login?ticket=on&ticket_details=on&changeset=on&milestone=on&wiki=on&max=50&daysback=90&format=rss
権限を適切に与えれば、WIKI、チケット、ソースなどの更新情報取得できます。
新着情報だけで、更新情報が取り込めない方はこちらをご覧ください。
認証付RSSに対応していないRSSリーダでも、次のように書くことで対応できるものもありますが、セキュリティ上、お勧めは出来ません。
http://ユーザID:パスワード@www.hogehoge.com/SampleProject/timeline/login?ticket=on&ticket_details=on&changeset=on&milestone=on&wiki=on&max=50&daysback=90&format=rss
ちなみに私は、Cococのシンプルさが好きなので、使ってます。
Popularity: 35 %
by 赤がすき 









コメントはまだありません。