0

Oracle Apex アプリケーションを作成しています。

私の質問:

アプリケーションには 2 つの側面があります。管理とユーザー。管理の目的は、ユーザーをグループに割り当てることです。

ユーザーは、割り当てられたグループの情報にのみアクセスできる必要があります。

例えば; A さんは A グループに、B さんは B グループに、C さんは A、B、C グループに割り当てられます。

ユーザーは、管理コントロールではなく、割り当てられた領域へのアクセスのみを許可する必要があります。閲覧権限のみ。

これは可能ですか?Oracle Apex を理解するのは難しいと思います。

4

1 に答える 1

0

いくつかの要件があり、それぞれを Apex で構築できますが、使用する機能は異なります。

  1. 管理者は、ユーザーをグループに割り当てることができます。

  2. 管理コントロールにアクセスできるのは管理者のみです。

  3. ユーザーは権限を表示できます。

  4. ユーザーは自分のグループの情報のみを表示できます。

#1、#2、および #3 の処理には Apex Authorization Schemesを使用します。たとえば、現在のユーザーが管理者であるかどうかをチェックする「管理者」という認可スキームを作成し、管理者のみがアクセスできるページ、リージョン、ボタン、アイテムなどにこのスキームを適用します。

#4については、私が考えることができるいくつかの解決策があります:

  1. 述語 - アプリケーション内の各クエリで、現在のユーザーがグループに従ってデータを表示できるかどうかを確認してください。

  2. ビュー - 各テーブルのビューにセキュリティ述語をカプセル化して、アプリケーション全体でこのコードを繰り返す必要がないようにします。

  3. Oracle VPD または行レベル セキュリティ (エンタープライズ ライセンスが必要) - これにより、セキュリティ述語が SQL レベルの背後に隠されます。

上記の 3 つのオプションすべてをさまざまなプロジェクトに使用しました。3 つ目は、非常に複雑な権限チェック ルールを持つかなり大規模なアプリケーション用でした。RLS により、このプロジェクトはビルドと検証がはるかに単純かつ容易になりました。ただし、RLS は場合によってはやり過ぎかもしれません。

于 2013-04-16T03:02:32.233 に答える