例 2 : リソースを使ったアプリケーションの保護
例のこの部分では、リソースを使用して Zen アプリケーションを保護します。このリソースへの許可を付与するロールのメンバであるユーザだけが、HomePage.cls にアクセスできます。
開始する前に、以下の準備手順を実行します。
-
Caché にユーザ (ユーザ名は JSmith、パスワードは JSmith) を追加します。手順については、"ユーザの作成" を参照してください。
-
新しいリソース (SecurityTutorialResource) を追加します。このリソースには、パブリック許可を割り当てません。手順については、"リソースの作成" を参照してください。
-
新しいロール (SecurityTutorialRole) を作成します。ロールに SecurityTutorialResource:USE 特権を追加します。手順については、"ロールの作成" を参照してください。
上記の準備手順が完了したら、以下の手順を実行します。
-
/csp/user アプリケーションの CSP アプリケーション定義を編集します ([ホーム]→[システム管理]→[セキュリティ]→[アプリケーション]→[ウェブ・アプリケーション] をクリックし、/csp/user をクリック)。[アプリケーションの実行に必要なリソース] ドロップダウン・ボックスで、[SecurityTutorialResource] を選択します。[有効] ボックスにチェックが付いていることを確認します。[保存] をクリックします。
-
ブラウザで HomePage.cls を開きます。これを行うには、スタジオで目的のファイルを開き、[表示]→[ウェブページ] をクリックします。
-
[ユーザ] と [パスワード] の両方のフィールドに JSmith と入力します。[ログイン] をクリックします。ユーザ JSmith は SecurityTutorialResource リソースで特権を持つロールのメンバではないので、ログインは失敗します。ブラウザにエラー・メッセージが表示されます。どのようなメッセージが表示されるかは、ブラウザによって異なります。
-
次に、JSmith を SecurityTutorialRole ロールに追加します。手順については、"ロールへのユーザの追加" を参照してください。
-
ブラウザで HomePage.cls を再度開きます。
-
[ユーザ] と [パスワード] の両方のフィールドに JSmith と入力します。[ログイン] をクリックします。今度は、JSmith は SecurityTutorialResource リソースで USE 特権を持つ SecurityTutorialRole のメンバなので、ログインは成功します。HomePage.cls がブラウザにロードされます。
HomePage.cls には、JSmith が %DB_USER ロールと SecurityTutorialRole ロールのメンバであることが表示されます。CSP アプリケーションは、ユーザがアプリケーションを使用している間、これらのユーザをこのロールに自動的に追加します。これはアプリケーション・ロールと呼ばれます。アプリケーション・ロールについては、チュートリアルの後半で説明します。