インストールおよびアップグレード > 高度な展開の検討事項 > 認証 > Windchill における代替認証の設定 > フォームベース認証
  
フォームベース認証
Windchill にフォームベース認証を設定する前に、フォームベース認証ソリューションを選択して、Windchill で使用するために必要な修正を実行する必要があります。フォームベース認証ソリューションには、SiteMinder から埋め込み型サーブレットエンジンに組み込まれたフォームベース認証サポートビルドまでさまざまなものがあります。個別の設定の詳細はソリューションによって異なっており、ここには記載しませんが、理解することが重要な Windchill の詳細を次のセクションに示します。フォームベース認証ソリューションの設定については、ソリューションのマニュアルを参照してください。
* 
Windchill アプリケーション付属のファイルに行った変更は、メンテナンスインストールプロセスで PTC により上書きされる可能性のあるカスタマイズファイルとして扱う必要があります。カスタマイズされたファイルが、カスタマイズの管理に記載されているとおりにバックアップされていることを確認します。
フォームベース認証で使用できるログオフ機能はデフォルトの基本認証では使用できず、したがってエンドユーザー向けドキュメントには説明されていません。ユーザーはログオフ機能について認識していない可能性があります。フォームベース認証を有効にして Windchill 環境をロールアウトする場合、ログオフの方法についてユーザーに注意喚起してください。「ログオフ」メニューオプションのデフォルトのログオフ動作 (このセクションで後述します) を変更した場合、変更後の動作についてユーザーに必ず周知してください。
ログイン要求ページ表示
フォームベース認証ソリューションの設定の一部として、ログインフォームを非ブラウザクライアント (Java アプリケーションなど) で使用してログインデータの収集や wt.auth.form.submitUrl プロパティで指定した URL への投稿を行う、単純な XHTML で表示されたログインページを作成する必要があります。非ブラウザクライアントにはフォームベース認証の処理 (結局はブラウザクライアントを対象とするアプリケーション変換) に支援が必要なため、このページは必須です。
PTC では、非ブラウザクライアントで使用するログイン要求ページ表示として login.jsp ファイルを用意しています。ファイルは Windchill がインストールされている codebase/login サブディレクトリにあります。ログインフォームに必要な資格証明データフィールドは login.jsp ファイルを使用して表示されているため、このファイルを編集して適切な表示ラベルとフォームのフィールド名を含めることができます。
* 
login.jsp ファイルは、フォームベース認証ソリューションの実際のログインフォームとして使用しないよう推奨します。
Windchill URL の検討事項
フォームベース認証ソリューションを設定する際に、一部の Windchill URL へのアクセスをソリューションで制約しなければならず、その他は制約してはならない場合があります。
関連する Windchill Web アプリケーション URL は <Windchill>/apacheConf/config/authResAdditions.xml ファイルにあります。ここで、<Windchill>Windchill インストールディレクトリです。
各 URL はリソースタグに保存されます。たとえば、次のリソースタグがファイルに含まれています。
<resource>pdmlink/jsp</resource>
<resource>servlet/WindchillAuthGW</resource>
<resource type="protocolAuth">protocolAuth</resource>
<resource type="anonymous">servlet/WindchillGW</resource>
フォームベース認証では、URL を次のようにグループ化できます。
タイプ属性を含むリソースタグ内の URL。例:
<resource type="protocolAuth">protocolAuth</resource>
<resource type="anonymous">servlet/WindchillGW</resource>
タイプ属性を含まないリソースタグ内の URL。例:
<resource>pdmlink/jsp</resource>
<resource>servlet/WindchillAuthGW</resource>
指定したタイプを含むリソースタグ内の URL には、フォームベース認証の制約を適用してはなりません。指定したタイプを含まない URL にはフォームベース認証の制約を適用する必要があります。
ファイル内の関連 URL のすべてのリストをレビューして、タイプ属性を含まないリソースタグにリストされている URL のセットのみがフォームベース認証ソリューションで制約されていることを確認します。
一般的な注記
必要な変更を実装するために使用するフォームベース認証ソリューションを検討する際に、次の注記が役に立ちます。
Java アプリケーションまたはブラウザページ以外のクライアントは、ログインのためのプラグインメカニズムを備えておらず、したがってログインが単純な入力の集合体または指定した URL への POST によって影響を受けるものでないかぎり、フォームベース認証をサポートできません。選択したフォームベース認証ソリューションで、ログインする URL への入力と POST フォームデータを簡単に収集できない場合、非ブラウザ型 Java クライアント用のカスタマイズしたフォームベースログインハンドラが必要な可能性があります。
カスタマイズしたフォームベースログインハンドラの作成については、com.ptc.fba.FormBasedLogin の Javadoc を参照してください。
フォームベース認証を実装する際には、タイムアウトの処理について注意する必要があります。30 分という、デフォルトのサーブレットセッションタイムアウトは、<Windchill>/codebase/WEB-INF/web.xml で設定されています。また、フォームベース認証ソリューション内に設定する認証タイムアウトを用意できます。認証タイムアウトはフォームベース認証ソリューションを使用するかどうかにかかわらず使用され、サーブレットセッションのタイムアウトには依存しません。
単純な Tomcat ベースでファイルベースの認証を使用する際には、セッションタイムアウトと認証タイムアウトは同一であり、J2EE 規格に従って <Windchill>/codebase/WEB-INF/web.xml に設定されます。別のファイルベース認証ソリューションを使用する際には、アイドルタイムアウトや、最大セッション時間を制限するハードタイムアウトを含む設定があります。
サーバーアクセスにフォームベース認証が適切でない場合もあります。フォームベース認証は、対話型クライアントや有人クライアントを対象として用意されたものです。
フォームベース認証タイムアウト (認証ソリューションに設定) や、資格情報データ (動的に生成された SecurID トークンなど) が使用されることがわかれば、非対話型クライアントや無人クライアントではフォームベース認証に頼れないことが明らかになります。そのようなクライアントでは、匿名の信頼されたクライアントによるもの、またはプロトコルベースの認証のいずれかを使用してアクセスします。
匿名の信頼されたクライアントアクセス (ホストベース認証とも呼ばれます) では、Windchill URL の WindchillWebAppName/ の後に trustedAuth/ を挿入できます。
ホストベース認証は、非対話型認証にも、認証資格情報を要求せずにさまざまなユーザーに代わってタスクを実行する場合にも使用できます。詳細については、wt.httgw.filter.TrustedAuthFilter の Javadoc を参照してください。
プロトコルベースでアクセスするには、Windchill URL にある WindchillWebAppName/ の後に protocolAuth/ を入力します。
Windchill の Java コマンドラインユーティリティは一般に、対話型で有人クライアントとして扱われます。ユーティリティによってこれが適切でない場合は、そのようなクライアントの RMI 認証動作を調整できます。
詳細については、wt.httpgw.HTTPLogin の Javadoc を参照してください。
Windchill 設定の手順
フォームベース認証ソリューションの使用準備ができたら、次の設定手順に従います。
1. Visualization サービス、Desktop Integration、ゲートウェイ (Cadence Allegro Design Workbench など) といった Windchill プログラムに設定変更が必要かどうかを判断します。
セクション「Windchill プログラムの変更」を参照してください。
2. フォームベース認証ソリューションをサポートするために、Info*Engine を含む現在のカスタマイズを更新する必要があるかどうかを判断します。
セクション「Info*Engine カスタマイズの変更」を参照してください。
3. フォームベース認証ソリューションをサポートするために、サードパーティ製品に変更が必要かどうかを判断します。
セクション「サードパーティ製品の変更」を参照してください。
4. Web サーバーを Windchill 環境で更新して、制約を除去します。
セクション「制約を除去するための Web サーバー設定更新」を参照してください。
5. フォームベース認証ソリューションを使用するには、Windchill プロパティを次のように設定します。
wt.properties の wt.auth.form.enabled プロパティを真に設定します。この設定により、フォームベース認証が有効になり、Windchill「クイックリンク」メニューが更新されて「ログオフ」メニューオプションが表示されるようになります。
wt.properties の wt.auth.form.submitUrl プロパティに、フォームベース認証でクライアントが資格証明を送付する URL を設定します。
wt.properties の wt.logout.url プロパティに、フォームベース認証ソリューションが現在の認証セッションをログアウトする際に使用する URL を設定します。
デフォルトの URL は、Windchill ベースの URL です。デフォルトの URL を使用するのは、ログオフにサーブレットセッションの終了と Windchill 監査サービスへのログアウトイベント送付が含まれることを前提としています。実装されているフォームベース認証ソリューションに応じて、別の URL が必要な別のログアウト操作を設定しなければならない場合があります。
詳細については、セクション「Windchill プロパティの変更」を参照してください。
Windchill プログラムの変更
フォームベース認証はプロトコルレベルで透過的に処理することができないので、Windchill へのアクセスに使用されるクライアントには、フォームベース認証をサポートするように特別に設計する必要があるものがあります。たとえば、フォームベース認証を使用する際に、Windchill プログラム (ビジュアリゼーションサービスや Windchill Desktop Integration など) の変更が必要になることがあります。部品を Windchill Gateway for Cadence Allegro Design Workbench 経由でインポートするには、使用する SimpleTaskDispatcher サーブレットに /protocolAuth URL プレフィックスを含める必要があります。
フォームベース認証のためにビジュアリゼーションを変更する方法については、フォームベース認証に関する WVS の考慮事項を参照してください。
Windchill Desktop Integration の変更については、「高度なカスタマイズ」のデスクトップインテグレーションを参照してください。
Windchill Gateway for Cadence Allegro Design Workbench の詳細については、Windchill Gateway for Cadence Allegro Design Workbench の使用を参照してください。
Info*Engine カスタマイズの変更
カスタム JSP、SOAP サービス、および Info*Engine タスクをフォームベース認証ソリューションと一緒に使用できます。
フォームベース認証ソリューションを使用する際には、クライアントが使用して IE サーブレットにアクセスする URL、RPC、SimpleTaskDispatcher サーブレットに /protocolAuth URL プレフィックスを含める必要があります。
詳細については、Info*Engine の操作を参照してください。
サードパーティ製品の変更
サポートされるサードパーティ製品を使用している場合は、フォームベース認証をサポートするためにこれらの製品に変更が必要かどうかを判別する必要があります。
たとえば、Cognos は Windchill サーブレットエンジンと認証コードを使用しません。このため、組み込みの Windchill サーブレットエンジンベースのフォームベース認証を使用して、Windchill と Cognos の間で一貫性のあるシングルサインオンを実行することはできません。通常の設定では、Cognos は REMOTE_USER を直接取得します。REMOTE_USER が設定されていない場合、Cognos はフォームベース認証を使用するために特別な設定を必要とします。
制約を除去するための Web サーバー設定更新
匿名および Web サーバー設定からのプロトコルベースの認証制約以外のすべてを除去します。
Windchill 向けに設定されている Apache ベースの Web サーバーからの Windchill Web アプリケーションでは、次の手順に従って、プロトコルのみによる認証と匿名アクセスを行うもの以外のすべての認証制約を除去します。
1. Windchill シェルを開き、<Windchill>/<HTTP サーバーのホーム> ディレクトリに移動します。ここで、<Windchill>Windchill のインストールディレクトリ、<HTTP サーバーのホーム> は Web サーバーのインストールディレクトリです。
2. 次の Ant スクリプトを実行します。
ant -f webAppConfig.xml regenWebAppConf -DappName=<Windchill Web アプリケーション名> -DprotocolAuthOnly=true
ここで、<Windchill Web アプリケーション名>wt.properties ファイルの wt.webapp.name プロパティに定義されたお使いの Windchill Web アプリケーション (Windchill など) です。
Windchill プロパティの変更
フォームベース認証ソリューションの使用を有効にする wt.properties プロパティは、wt.auth.form.enabled です。
デフォルトで、フォームベース認証ソリューションの使用は無効になっています。有効にするには、xconfmanager ユーティリティを使用してプロパティを真に設定します。たとえば、Windchill シェルで次のように入力します。
xconfmanager -s wt.auth.form.enabled=true -t wt.properties -p
フォームベース認証ソリューションの使用を有効にすることで、Windchill ページの右上隅にある Windchill「クイックリンク」メニューの「ログオフ」メニューオプションの表示も有効になります。
「ログオフ」メニューオプションを選択すると、デフォルト動作では Windchill サーブレットセッションが終了し、ログオフイベントが Windchill 監査ログに取り込まれます。ユーザーが開始したアクティビティでログオフ時に進行中のものは、サーブレットセッションにアクセスしないかぎりは続行されます。たとえば、ユーザーがサーチを開始した後、完了する前にログオフした場合は、結果を表示しようとしたときにサーチエラーが発生します。ユーザーがチェックイン操作を開始した後、チェックイン確認が表示される前に「ログオフ」をクリックした場合、チェックインは完了しますが、確認は表示できず、エラーが記録されます。
デフォルトで、サーブレットセッションが認証セッションと同じ場合は、そのセッションに関連付けられている状態データはいずれも失われ、ログイン状態でなくなります。「ログオフ」メニューオプションを使用してユーザーがログオフした後、ページは Windchill ベース URL を実行します。ユーザーはもうログインしていないので、再度ログインできるログインフォームが URL に表示されます。
お使いのフォームベース認証ソリューションでさまざまなコンフィギュレーション設定を選択したり、wt.properties の wt.logout.url プロパティにさまざまな URL を設定したりすることで、このデフォルトのログオフ動作を変更できます。サーブレットセッションに基づかない (したがって認証セッションがサーブレットセッションの終了によって終了しない) フォームベース認証ソリューションの場合、wt.logout.url プロパティに設定する URL はお使いのフォームベース認証ソリューションで現在の認証セッションのログアウトを行うものでなければなりません。