10. アクセス制限
サーブレット 10章 アクセス制限
- 10.1. J2EEのアクセス制限機能
- 10.2. <security-role>
- 10.3. <security-constraint>
- 10.4. <login-config>
- 10.5. Tomcatでの設定
10.1. J2EEのアクセス制限機能
J2EEでは認証を受けたユーザしか、特定のWebリソース(HTML/JSPページ/サーブレット等)にアクセスできないよう設定する事ができます。アクセス制限の設定はweb.xmlで行い、そこでは
- ロール(役割)の定義
- アクセスを制限するWebリソースの定義
- 制限されたWebリソースにアクセスできるロールの定義
- 制限されたWebリソースにアクセスするための認証方法の定義
をすることができます。ただし
- どのユーザがどのようなロールに属しているか
- ユーザが制限されたページにアクセスするためのパスワード
といったユーザに関する情報の管理は、J2EEサーバによって異なります。Tomcatでは3つの管理機能を提供していますが、ここではまず、デフォルトの管理機能を用いて、J2EEの認証機能を利用する方法について説明します。
アクセス制限を行うためには、web.xmlに
<web-app> ... <security-constraint> ... </security-constraint> <login-config> ... </login-config> <security-role> ... </security-role> </web-app>
の3種類の定義が少なくとも必要です。<security-constraint>は「アクセスを制限するWebリソース」「制限されたWebリソースにアクセスできるロール」の定義、<login-config>は「制限されたWebリソースにアクセスするための認証方法」の定義、<security-role>は「ロール(役割)」の定義に使用します。<security-role>から順に説明していきます。なおこれらのタグは<taglib><resource-ref>よりも後に定義します。