« 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


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

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