5 基本認証を使用したRESTful Webサービスの保護
ユース・ケースの説明、ソリューションのサマリー、関連するコンポーネントおよびリンクされたドキュメント・リソースを参照して、基本認証を使用したRESTful Webサービスを保護できます。
この章の構成は、次のとおりです。
5.1 ユース・ケース: 基本認証を使用したRESTful Webサービスの保護
RESTful Webサービスを開発し、Oracle Web Services Manager (OWSM)基本認証ポリシーをアタッチして保護できます。
- ユース・ケース
-
基本認証を使用して、RESTful Webサービスを保護します。
- 実装サマリー
-
RESTful Webサービスを開発し、Oracle Web Services Manager (OWSM)基本認証ポリシーをアタッチして保護します。
- コンポーネント
-
-
Oracle WebLogic Server
-
Oracle Web Services Manager(OWSM)
-
Oracle JDeveloper
-
- 必須ドキュメント
-
このユース・ケースを完了するには、次のドキュメント・リソースを参照してください。
-
Oracle JDeveloperによるアプリケーションの開発におけるRESTful Webサービスの開発および保護に関する項
このユース・ケースは、次の操作に必要なステップを示します。
-
JDeveloperを使用して簡単な
HelloWorld
RESTful Webサービスを作成します。 -
javax.ws.rs.core.SecurityContext
を使用して、出力メッセージに認証済ユーザーの名前を表示します。 -
アプリケーション・サブクラスを使用してRESTful Webサービスをパッケージ化して、RESTful Webサービス・アプリケーション・デプロイメントのコンポーネントを定義し、追加のメタデータを提供します。
-
OWSMグローバル・ポリシーを定義して、デフォルトですべてのRESTful Webサービスを保護します。
-
WebLogic Serverリモート・コンソールを使用して、WARファイルとしてRESTful WebサービスをWebLogic Serverにデプロイします。
-
ブラウザを使用して、
HelloWorld
Webサービスを検証します。
5.2 ユース・ケースの実装: 基本認証を使用したRESTful Webサービス
基本認証を使用してRESTful Webサービスを実装するには、RESTful Webサービスを開発し、Oracle Web Services Manager (OWSM)基本認証ポリシーをアタッチして保護します。
このユース・ケースを実装するには、次のステップを順に実行します。
5.2.1 基本認証を使用したRESTful Webサービスの実装- 前提条件
基本認証を使用してRESTful Webサービスを実装する前に、製品コンポーネントをダウンロードしてインストールし、WebLogicドメインを構成し、リモート・サーバーを起動し、Oracle Enterprise Manager Fusion Middleware ControlおよびOracle WebLogic Serverリモート・コンソールへのアクセス権を取得します。
開始する前に、次のタスクが実行されていることを確認してください。
5.2.2 デフォルトですべてのRESTfulリソースの保護
RESTfulリソースをデプロイする前に、最初にグローバル・ポリシーを定義して、デフォルトですべてのRESTfulリソースを保護します。
次の手順では、OWSMグローバル・ポリシー・セットを定義し、すべてのRESTfulリソースに割り当てます。oracle/wss_http_token_service_policy
ポリシーがすべてのRESTfulリソースの基本認証の構成ポリシーにアタッチされます。
WebサービスのWLSTコマンドの詳細は、『インフラストラクチャ・コンポーネントのためのWLSTコマンド・リファレンス』のWebサービスのWLSTカスタムWLSTコマンドに関する項を参照してください。
デフォルトですべてのRESTfulリソースを保護するには:
ノート:
完全な手順は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のWLSTを使用したポリシーのグローバルなアタッチに関する項を参照してください。
5.2.3 RESTful Webサービスの作成
JDeveloperを使用して、簡単なHelloWorld RESTful Webサービスを作成できます。
手順:
ノート:
JDeveloperを使用する場合のヘルプは、[F1]を押すか、「ヘルプ」をクリックします。
完全な手順は、『Oracle JDeveloperによるアプリケーションの開発』のRESTful Webサービスの作成に関する項を参照してください。
5.2.4 SecurityContextを使用したユーザーの認証
javax.ws.rs.core.SecurityContext
を使用してユーザーを認証できます。
詳細は、『Oracle WebLogic Server RESTful Webサービスの開発と保護』のSecurityContextを使用したRESTful Webサービスの保護に関する項を参照してください。
SecurityContext
を使用した認証済ユーザーを取得するには:
5.2.5 アプリケーション・サブクラスとのパッケージ化
javax.ws.rs.core.Application
を拡張するクラスを作成して、RESTful Webサービス・アプリケーション・デプロイメントのコンポーネントを定義し、追加のメタデータを提供できます。
詳細は、『Oracle WebLogic Server RESTful Webサービスの開発と保護』のアプリケーション・サブクラスを使用したパッケージ化に関する項を参照してください。
アプリケーション・サブクラスを使用したRESTful Webサービスをパッケージ化するには:
5.2.6 RESTful Webサービスのデプロイ
WARファイルとしてRESTful Webサービス・アプリケーションをWebLogic Serverにデプロイします。
RESTful Webサービスをデプロイするには:
-
Webアプリケーションのデプロイメント・プロファイルを作成します。
-
「デプロイメント・プロファイルの作成」ウィザードを使用して、プロファイルのタイプおよび名前を定義します。
RESTfulサービス・アプリケーションを右クリックして「デプロイ」→「新規デプロイメント・プロファイル」を選択して、「デプロイメント・プロファイルの作成」ウィザードを起動します。ヘルプは、[F1]を押すか、「ヘルプ」をクリックします。
次の特性を定義します。
- プロファイル・タイプ: WARファイル
- デプロイメント・プロファイル名: helloworld
-
「WARデプロイメント・プロファイルのプロパティの編集」ウィザードを使用して、Webアプリケーションのコンテキスト・ルートを定義します。
「デプロイメント・プロファイルの作成」ウィザードで「OK」をクリックすると、「WARデプロイメント・プロファイルのプロパティの編集」ウィザードが自動的に起動します。ヘルプは、[F1]を押すか、「ヘルプ」をクリックします。
次の特性を定義します。
- Java EE Webコンテキスト・ルートを指定: restservice
-
-
「<application>のデプロイ」ウィザードを使用して、次の特性とともにWebアプリケーションをデプロイします。
RESTfulServiceアプリケーションを右クリックして「デプロイ」→「helloworld」を選択して、「<application>のデプロイ」ウィザードを起動します。ヘルプは、[F1]を押すか、「ヘルプ」をクリックします。
次の特性を定義します。
-
デプロイメント・アクション: WARにデプロイ
-
-
構成されたプロジェクト・ディレクトリのWARファイルを表示します。たとえば:
c:\JDeveloper\mywork\RESTfulApplication\RESTfulService\deploy\helloworld.war
-
WebLogic ServerにWARファイルをデプロイします。詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプのアプリケーションとモジュールのデプロイに関する項を参照してください。
5.3 ユース・ケースの検証: RESTful Webサービス
ブラウザから、RESTful Webサービスを検証できます。Fusion Middleware ControlのWeb Servicesテスト・クライアントまたは「Webサービスのテスト」ページを使用して、Webサービスの基本機能および拡張機能をテストできます。
ブラウザでRESTful Webサービスにアクセスするには、ブラウザで次のURLを入力して、RESTful Webサービスをテストします。
http://<host>:<port>/restservice/resources/helloworld
たとえば、http://localhost:7001/restservice/resources/helloworld
です。
プロンプトが表示されたら、WebLogic Serverのユーザー名とパスワードを入力します。たとえば、weblogicとpasswordです。
次のメッセージがブラウザで戻されます。
Hello weblogic!
Fusion Middleware ControlのWeb Servicesテスト・クライアントまたは「Webサービスのテスト」ページを使用して、Webサービスの基本機能および拡張機能をテストできます。詳細は、『Webサービスの管理』のWebサービスのテストに関する説明を参照してください。
5.4 RESTful Webサービスのユース・ケースの追加のリソース
RESTful Webサービスとクライアントの作成および保護の詳細を説明する追加のリソースです。
-
Oracle WebLogic Serverの理解のJava EE 6の例に関する項の説明に従って、JAX-RSサンプルを使用してRESTful Webサービスを作成します。
-
Oracle JDeveloperによるアプリケーションの開発におけるRESTful Webサービスの開発および保護に関する項