認証フィルター

認証フィルターを使用して、特定の HTTP サーブレット要求が特定のプロバイダーで処理されるかどうかを判別できます。

Liberty サーバーの認証フィルターは、server.xml ファイルの authFilter エレメントに指定されているフィルター基準を使用して、認証に特定のプロバイダー (OpenID、OpenID COnnect、または SPNEGO) によって特定の HTTP サーブレット要求が処理されるかどうかを判別します。

authFilter エレメントのすべての条件が満たされている場合、HTTP サーブレット要求は、その authFilter エレメントを参照する特定のプロバイダーによって処理されます。authFilter エレメント内のいずれかの条件が満たされていない場合、HTTP サーブレット要求はそのプロバイダーによって処理されません。

サポートされるエレメント

authFilter エレメントでは、userAgenthostwebAppremoteAddress、および requestUrl の各エレメントがサポートされます。

  • userAgent エレメントは、着信 HTTP サーブレット要求から抽出された対応するヘッダー値に対して比較されます。 userAgent エレメントは、「User-Agent」HTTP 要求ヘッダーに対して比較されます。このヘッダーは、元の要求で使用されているクライアント・ソフトウェアを識別します。Web クライアント・ブラウザーの場合、この値は、要求の開始に使用されたブラウザー・タイプ (Internet Explorer、Firefox、Safari など) を表します。
  • host エレメントは、userAgent エレメントと同様に使用されます。 host エレメントは、「Host」HTTP 要求ヘッダーに対して比較されます。このヘッダーは要求のターゲット・ホスト名を識別します。
  • webApp エレメントは、当該認証フィルターによって保護されている Liberty サーバー上にホストされているアプリケーションまたはアプリケーションのリストを指定するために使用されます。
  • remoteAddress エレメントは、HTTP 要求を送信したクライアント・アプリケーションのリモート TCP/IP アドレスに対して比較されます。このトピック内で後に示している例のように、サブネットを指定するためにワイルドカードを構成したり、matchType 属性の lessThan 値または greaterThan 値を使用して範囲を構成したりすることができます。
  • requestUrl エレメントは、要求を作成するためにクライアント・アプリケーションによって使用されている URL に対して比較されます。このトピック内で後で示している例のように、単一の URL パターンを構成するか、パイプで区切った値のリストを構成します。

認証フィルターの例

要求 URL に 1 つのパターンが含まれている
以下の例では、認証フィルターの標準的構成を示します。 ここでは、"/SimpleServlet" が含まれている要求 URL の着信要求が、このフィルターを使用するように構成されているサービスによって処理されます。
<authFilter id="myAuthFilter">
         <requestUrl id="myRequestUrl" urlPattern="/SimpleServlet" matchType="contains"/>
</authFilter>
要求 URL に一連のパターンのいずれかが含まれている
以下の例では、パイプで区切られた要求 URL パターンのリストを指定しています。このフィルターを使用するように構成されているサービスで着信要求を処理するには、着信要求 URL に "/SimpleServlet""/EmployeeRoleServlet"、または "/AllRoleServlet" のいずれかが含まれている必要があります。
<authFilter id="myAuthFilter">
         <requestUrl id="myURL" urlPattern="/SimpleServlet|/EmployeeRoleServlet|/AllRoleServlet" matchType="contains" />
</authFilter>
Web アプリケーション名に 1 つのパターンが含まれている
以下の例では、認証フィルターで Web アプリケーション名を指定しています。このフィルターを使用するように構成されているサービスで着信要求を処理するには、その要求のターゲットが "myApp" アプリケーションでなければなりません。
<authFilter id="myAuthFilter">
         <webApp id="myWebApp" name="myApp" matchType="contains"/>
</authFilter>
Web アプリケーション名に一連のパターンのいずれかが含まれている
以下の例では、パイプで区切られた Web アプリケーションのリストを指定しています。このフィルターを使用するように構成されているサービスで着信要求を処理するには、着信要求のターゲットが、"myApp1""myApp2"、または "myApp3" のいずれかのアプリケーションでなければなりません。
<authFilter id="myAuthFilter">
         <webApp id="myWebApp" name="myApp1|myApp2|myApp3" matchType="contains"/>
</authFilter>
要求が特定の IP アドレスから発信されている
以下の例では、remoteAddress エレメントでワイルドカードを使用する方法を示します。この構成では、着信要求が 127.0.0.* の範囲内の IP アドレスからのものである場合、このフィルターを使用するように構成されているサービスがその要求を処理します。
<authFilter id="myAuthFilter">
         <remoteAddress id="myRemoteAddress" ip="127.0.0.*" matchType="equals"/>
</authFilter>
除外パターン
以下の例では、requestUrl エレメントに、パイプで区切られた値のリストを使用する方法を示します。 リスト内のパターンのいずれかに一致すれば、その特定のエレメントの要件が満たされます。この例では、要求 URL には、"/SimpleServlet""/EmployeeRoleServlet"、または "/AllRoleServlet" のいずれかが含まれている必要があります。さらに、要求 URL に "/ManagerRoleServlet" が含まれていてはならず、要求が Internet Explorer ユーザー・エージェントからのものでなければなりません。
<authFilter id="myAuthFilter">
         <requestUrl id="myURL1" urlPattern="/SimpleServlet|/EmployeeRoleServlet|/AllRoleServlet" matchType="contains" />
         <requestUrl id="myURL2" urlPattern="/ManagerRoleServlet" matchType="notContain" />
         <userAgent id="myAgent" agent="IE" matchType="contains" />
</authFilter>
すべてのサブエレメントを使用する例
このフィルターを使用するように構成されているサービスで着信要求を処理するには、要求は以下の条件を満たしている必要があります。
  • 要求 URL にパターン "/SimpleServlet" が含まれている
  • ターゲットのドメインに "host.example.com" が含まれている
  • IP アドレス 127.0.0.1 からのものである
  • Firefox ブラウザーからのものである
  • ターゲット・アプリケーションの名前が myApp である
<authFilter id="myAuthFilter">
         <requestUrl id="myRequestUrl" urlPattern="/SimpleServlet" matchType="contains"/>
         <host id="myHost" name="host.example.com" matchType="contains"/>
         <remoteAddress id="myAddress" ip="127.0.0.1" matchType="equals" />
         <userAgent id="myUserAgent" agent="Firefox" matchType="equals"/>
         <webApp id="myWebApp" name="myApp" matchType="contains"/>
</authFilter>

トピックのタイプを示すアイコン 参照トピック



タイム・スタンプ・アイコン 最終更新: Monday, 5 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-libcore-mp&topic=rwlp_auth_filter
ファイル名: rwlp_auth_filter.html