サーバのメンテナンス,再起動の際,Tomcat のデプロイをテキトーにやったためか,限定公開の表記変換プログラムが丸見えになっていたらしい。開発機 Mac OS X で作ったプログラムを公開機 FreeBSD に載せるのだが,セキュリティなどの設定の違いで開発機の定義ファイルを公開機に持って行きそのまま使うとノーセキュリティで外に出てしまう。ま,プライベートの遊びなんでどうってことはないのだけれども,遊びのついでに,同じ設定で Java Servlet を両方の機械で動かすように変更した。
公開機ではこれまで限定公開の Java Servlet に対し Tomcat の BASIC 認証で制限を掛けていた。web.xml デプロイメント・ディスクリプタの <security-
今回 Java Servlet の Filter 機能を利用し,自分で認証を行うアプリを書いてみた。Filter 機能というのは,ある Servlet A に対して Filter として動作するアプリ B を指定しておくと,A が要求されたとき B を実行した上で A に制御を渡すことのできる Tomcat の仕組みである。その要求が許可を得たものであるのかをチェックし,そうでなければ A を実行せず別の Servlet C に要求を渡すなどができる。Servlet 間でデータを共有するには Tomcat セッション管理機構や Servlet
Filter 機能の詳細については,「Java の道:Servlet-10.フィルタ」などのやさしく解説してくれるサイトを参考にしながら,Tomcat Servlet API ドキュメントをお読みください。