« wdCalendarの内容をGoogleCalendarに取り込む | Main | icalendarへのアクセスを制限する(2) »

2011.05.15

icalendarへのアクセスを制限する

wdCalendarの内容をGoogleCalendarに取り込む ことができるようになったのですが、GoogleCalendarでURLを指定してicalを取り込む際は認証情報を使用できない模様。つまり、URLさえわかれば誰でもスケジュールを取り込めてしまうってことに。

ということで、以下のような設定を行うことができるかどうかを検証。

1.wdCalendarで提供するカレンダーの閲覧/編集にはID/PWが必要。
2.icalendar(Teedaで提供)を取得するURLへのアクセスはID/PWは不要。
2-1.ただし、Teedaで提供している他のページへのアクセスはID/PWが必要。
2-2.認証は、Tomcat側で設定するのではなく、ApacheのBasic認証に委ねることとする。
3.icalendarへのアクセス元をGoogleCalendarに限定する。

Teedaの場合、http://server/teedaproject/appA/app1.html とか、 http://server/teedaproject/appB/app2.html のような感じで、war単位で共通のコンテキストルート(上記の場合、teedaproject)を使用。そのため、http://server/teedaproject/ 全体は原則認証を要求しつつ、http://server/teedaproject/icalapp/ のエリアのみ認証を不要とするように設定すればOK・・・のはず(あるエリアに含まれる、特定のサブエリア(サブディレクトリ)部分のみ認証が不要となるような設定を実施)。

サブディレクトリに対する設定でSatisfy anyとallow allを指定すればOKっぽい資料も見かけたのですが、どうにも期待通りの動きをしてくれません(サブディレクトリ側にアクセスしても、認証が要求される)。

それならば、Proxyの設定を工夫して、「別のURLでicalenderエクスポートページにアクセスするようにすればいけるのでは?」ということで、こちらの設定を変更。

ProxyPass /ical/ ajp://localhost:8009/teedaproject/wdcalendar/
ProxyPass /teedaproject/ ajp://localhost:8009/teedaproject/

のような感じ。ちなみに、設定の順番が逆だと、Apache起動時に、

worker ajp://localhost:8009/teedaproject/ already used by another worker

って感じでwarningが出てしまいます。どうも、転送先が「下位のURLから」順になるように指定してあげる必要があるようで。

かなり強引ではありますが、これで(期待通りの)認証の要否となる・・・はず。

|

« wdCalendarの内容をGoogleCalendarに取り込む | Main | icalendarへのアクセスを制限する(2) »

Linux」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)


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



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/3959/51680258

Listed below are links to weblogs that reference icalendarへのアクセスを制限する:

« wdCalendarの内容をGoogleCalendarに取り込む | Main | icalendarへのアクセスを制限する(2) »