14.2.10. サーブレットでのロールベースセキュリティーの使用
サーブレットにセキュリティーを追加するには、各サーブレットを URL パターンへマッピングし、保護する必要のある URL パターン上でセキュリティー制約を作成します。セキュリティー制約は、ロールに対して URL へのアクセスを制限します。認証と承認は WAR の
jboss-web.xml
に指定されたセキュリティードメインによって処理されます。
要件
サーブレットで ロールベースセキュリティーを使用する前に、アクセスの認証と承認に使用されるセキュリティードメインを JBoss Enterprise Application Platform のコンテナに設定する必要があります。
手順14.2 ロールベースセキュリティーのサーブレットへの追加
サーブレットと URL パターンの間にマッピングを追加します。
web.xml
の<servlet-mapping>
要素を使用して各サーブレットを URL パターンへマッピングします。次の例はDisplayOpResult
と呼ばれるサーブレットを URL パターン/DisplayOpResult
にマッピングします。<servlet-mapping> <servlet-name>DisplayOpResult</servlet-name> <url-pattern>/DisplayOpResult</url-pattern> </servlet-mapping>
URL パターンにセキュリティー制約を追加します。
URL パターンをセキュリティー制約へマッピングするには、<security-constraint>
を使用します。次の例は、URL パターン/DisplayOpResult
のアクセスを、ロールeap_admin
を持つプリンシパルのみに許可します。セキュリティードメインにロールが存在していなければなりません。<security-constraint> <display-name>Restrict access to role eap_admin</display-name> <web-resource-collection> <web-resource-name>Restrict access to role eap_admin</web-resource-name> <url-pattern>/DisplayOpResult/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>eap_admin</role-name> </auth-constraint> <security-role> <role-name>eap_admin</role-name> </security-role> </security-constraint>
WAR の
jboss-web.xml
にセキュリティードメインを指定します。セキュリティードメインにサーブレットを接続するため、WAR のjboss-web.xml
にセキュリティードメインを追加します。セキュリティードメインにはセキュリティー制約に対してプリンシパルを認証および承認する方法が設定されています。次の例はacme_domain
というセキュリティードメインを使用します。<jboss-web> ... <security-domain>acme_domain</security-domain> ... </jboss-web>