Skip to main content

This documentation is for an older version of this product. See the latest version of this content.Opens in a new tab

例 2 : リソースを使ったアプリケーションの保護

例のこの部分では、リソースを使用して Web アプリケーションを保護します。このリソースへの許可を付与するロールのメンバであるユーザだけが、HomePage.cls にアクセスできます。

開始する前に、以下の準備手順を実行します。

  1. InterSystems IRIS にユーザ (ユーザ名は JSmith、パスワードは JSmith) を追加します。手順については、"ユーザの作成" を参照してください。

  2. 新しいリソース (SecurityTutorialResource) を追加します。このリソースには、パブリック許可を割り当てません。手順については、"リソースの作成" を参照してください。

  3. 新しいロール (SecurityTutorialRole) を作成します。ロールに SecurityTutorialResource:USE 特権を追加します。手順については、"ロールの作成" を参照してください。

上記の準備手順が完了したら、以下の手順を実行します。

  1. /csp/user アプリケーションの CSP アプリケーション定義を編集します。[アプリケーションの実行に必要なリソース] ドロップダウン・ボックスで、[SecurityTutorialResource] を選択します。[有効] ボックスにチェックが付いていることを確認します。[保存] をクリックします。

    Red boxes highlighting Save button, Enable Application setting, and Resource Required setting

  2. REST クライアントで、もう一度 GET 要求を実行します。基本認証を使用し、ユーザ名/パスワードとして JSmith/JSmith を使用します。権限がないことを示すエラーが表示されます。

    Postman response with 401 Unauthorized error

  3. 次に、JSmith を SecurityTutorialRole ロールに追加します。手順については、"ロールへのユーザの追加" を参照してください。

  4. GET で JSmith の認証情報を正常に使用するには、まだ十分ではありません。現時点では、この認証情報はアプリケーションに対する権限は提供しますが、SecurityTutorial.AuthenticationExample コードがある USER データベースに対する権限は提供しません。そのため、もう一度 GET を実行しても、依然として権限がないことを示すステータスで失敗します。

  5. 必要な権限を提供するには、さまざまな方法があります。例えば、%DB_USER リソースに対する権限を SecurityTutorialRole に追加できます。また、JSmith を %DB_USER ロールに追加する方法もあります。このロールは既定で既にシステム内に存在しており、USER データベースに対する読み込み権限と書き込み権限の両方を JSmith に付与します。さらに別の方法として、アプリケーション・ロールを使用する方法もあります。これはチュートリアルの次の部分で説明します。

FeedbackOpens in a new tab