組織によっては高度な認証シナリオが必要です。この場合、ユーザー認証は、アクセスしようとするリソースごとに特定のモジュールで行われます。リソースベースの認証は、Access Manager の機能で、ユーザーはデフォルトの認証モジュールではなく、そのリソースを保護している認証モジュールから認証される必要があります。この機能は、ユーザーが初めて認証される時にのみ適用可能です。
これは、「セッションのアップグレード」で説明しているリソースベースの認証とは別の機能です。その機能には何の制限もありません。
リソースベースの認証には、次のような制限があります。
リソースに適用可能なポリシーに認証モジュールが複数個含まれていた場合、そのどちらかの認証モジュールがシステムによって自動的に選択されます。
このポリシーについて定義できる条件はレベルと方式だけです。
この機能は、異なる DNS ドメイン間では働きません。
Access Manager とポリシーエージェントをインストールしたら、リソースベースの認証を設定できます。そのためには、Access Manager が Gateway サーブレットを指す必要があります。
AMAgent.properties を開きます。
AMAgent.properties は Solaris 環境では /etc/opt/SUNWam/agents/config/ にあります。
次の行をコメントアウトします。
#com.sun.am.policy.am.loginURL = http://Access Manager_server_host.domain_name:port/amserver/UI/Login.
ファイルに次の行を追加します。
com.sun.am.policy.am.loginURL = http://AccessManager_host.domain_name:port/amserver/gateway
ゲートウェイサーブレットは Policy Evaluation API を使って開発します。このサーブレットを使えば、リソースベースの認証を実現するためのカスタムメカニズムを記述できます。『Sun Java System Access Manager 7 2005Q4 Developer’s Guide』の第 6 章「Using the Policy APIs」を参照してください。
サーバーを再起動します。