フォームベース認証の資格証明ファイルのフォーマットは次のようになります。
<?xml version="1.0" encoding="UTF-8"?> <credentials> <formCredentials> <authenticator> <className>authClass</className> <configuration> <siteUrlPattern>siteUrl</siteUrlPattern> <loginUrl>loginPageUrl</loginUrl> <actionUrl>actionUrl</actionUrl> <method>authMethodToUse</method> <preCrawlAuth>shouldPreAuth</preCrawlAuth> <parameters> <parameter> <name>paramName</name> <value>paramValue</value> </parameter> </parameters> <properties> <property> <name>propName</name> <value>propValue</value> </property> </properties> </configuration> </authenticator> </formCredentials> </credentials>
要素 | 意味 |
---|---|
<credentials>および<formCredentials> | 最初に指定されるメイン要素です。これらの要素のセットはファイル内に1組のみ存在します。 |
<authenticator> | Authenticatorプラグイン用の1セットの設定を定義します。サイトにマルチフォームの認証が存在する場合は、ファイル内に<authenticator>セクションを複数設定します。 |
<className> | 認証ロジックを処理するクラスの名前です。Web Crawlerのデフォルトのオーセンティケータ・クラスはcom.endeca.eidi.web.auth.form.BasicFormAuthenticatorです。必要に応じて、自分で実装したカスタム認証クラスによってこのクラスをオーバーライドできます。 |
<configuration> | 1セットの資格証明の設定およびプロパティを定義します。 |
<siteUrlPattern> | 認証が行われるサイトを決定するための正規表現です(Authenticatorはそれらのクラスのみで実行されます)。 |
<loginUrl> | 実際のログインが行われるページのURLです(http://samplesite.com/login.htmlなど)。 |
<actionUrl> | GET/POSTリクエストのロジックを処理するURL(CGIスクリプトなど)のフルパスです。このフィールドは、フォームのACTION属性に対応します。ログインのURLとアクションのURLは異なる場合があることに注意してください。 |
<method> | GETまたはPOSTのいずれかの値です。 |
<preCrawlAuth> | ブール値です。クロールの開始前に認証を行うか(trueの値を指定するとクロール前認証が有効になります)、またはクロールを実行している最中に認証を行うか(falseの値を指定するとクロール内認証が有効になります)を指定します。 |
<parameters> | 1つまたは複数の<parameter>要素のセットが含まれます。これらのパラメータは、ログイン名やパスワードなど、フォームにおいて入力するフィールドに対応します。デフォルトでは、これらのパラメータはすべてHttpRequestに含まれており、サーバーに送信されます。 |
<parameter> | フォーム内のフィールドの名前を指定する<name>要素と、そのフィールドに入力される値を指定する<value>要素が含まれます。 |
<properties> | 1つまたは複数の<property>要素のセットが含まれます。これらはプロパティ・マップ内に配置され、文字列としてアクセスできます。プロパティはAuthenticatorプラグイン固有の設定として意図されており、このプラグインを容易にカスタマイズする方法を提供します。この要素はオプションです。 |
<property> | プロパティの名前を指定する<name>要素と、そのプロパティの値を指定する<value>要素が含まれます。 |