ユーザー・ロールに応じたアプリケーション変更の表示
この例では、特定のユーザー・ロールに対してアプリケーション変更を表示可能にする方法について説明します。
ページのコンポーネントをユーザー・ロールに基づく条件に応じて制御するには:
-
セキュリティ権限を作成します
-
制御するコンポーネント・プロパティに対してExpression Language式を追加します
次の表に、このシナリオにおける主な検討事項の概要を示します。
考慮する決定事項 |
この例での決定内容 |
---|---|
保護対象とするページ・オブジェクトはどれか |
レポートのリンク |
変更を表示できるユーザー・ロール |
採用マネージャ、Sherry CallawayおよびTerrance Whitaker ヒント: アプリケーション変更のテストのみを目的としたロールを作成します。 このロールに
DEVCUST_TEST_ROLE という名前を付けます。 アプリケーション変更が機能していることを確認したら、セキュリティを適切なロールに変更します。 |
ユーザーが適切な権限を持っているかどうかを検証するために、どの式を追加するか |
|
前提条件として、ページ・コンポーザ・ツールが含まれているサンドボックスをアクティブ化します。 サンドボックスのコンテキスト・レイヤーが、編集するページでサポートされていることを確認します。 そうでない場合はページを編集できません。
ユーザー・ロールに対するアプリケーション変更の表示
次のステップを実行します。
-
権限を作成します。
-
MANAGER_REPORTS_LINK_PRIV
オブジェクトをDEVCUST_TEST_ROLE
に追加します。 -
DEVCUST_TEST_ROLE
をTerranceおよびSherryに割り当てます。ノート: なんらかの変更を実行する前に、TerranceとSherryが当該のページに対するアクセス権限を持っていることを確認してください。 -
ページ・コンポーザで、変更対象のレポート・リンクが含まれているページを開き、そのレポート・リンク・コンポーネントを選択します。
-
「編集」アイコンをクリックします。 これにより、「コンポーネント・プロパティ」ダイアログ・ボックスが開きます。
-
「表示オプション」タブをクリックします。
-
「コンポーネントの表示」プロパティの横にある「編集」アイコンをクリックし、「式ビルダー」を選択します。
-
ユーザーが適切な権限を持っているかどうか検証する式を追加します。 次のサンプル・コードを使用してください。
#{securityContext.userGrantedPermission['MANAGER_REPORTS_LINK_PRIV']}
-
プロパティの変更を保存し、ページ・コンポーザを閉じます。
「コンポーネントの表示」プロパティが変更された後は、ユーザーがこのページを開くたびに、アプリケーションによってこの式が評価されます。 SherryおよびTerranceは当該の権限を持っているため、「コンポーネントの表示」プロパティは選択対象として評価されます。 したがって、SherryおよびTerranceはレポート・リンクを表示できますが、他のユーザーはこのリンクを表示できません。
ヒント: ユーザーのアクセス権限に応じてUIコンポーネントをレンダリングする権限を定義するには、Oracle JDeveloperを使用します。 (Oracle JDeveloperはOracle Cloudの実装では使用できません。)