2013-01-21 93 views
0

我正在創建Oracle Apex應用程序。Oracle Apex - 管理和用戶

我的問題:

該應用程序有兩面;管理和用戶。管理的目的是將用戶分配給組。

用戶應該只能訪問信息 - 他們已被分配的組。

例如; A先生被分配到A組 B先生被分配到B組 C先生被分配到組A,B和C

用戶應只允許訪問分配給他們的,而不是行政區域控制。只查看權限。

這可能嗎? 我發現Oracle Apex難以讓我的頭腦發熱!

回答

0

你有一些要求,其中的每一個可以建在頂點,但使用不同的功能:

  1. 管理員可以將用戶分配到組。

  2. 只有管理員可以訪問管理控制。

  3. 用戶可以查看權限。

  4. 用戶只能看到他們組的信息。

我會使用的Apex 授權計劃採取#1,#2,#3護理。例如,創建一個名爲「Administrator」的授權方案,該方案檢查當前用戶是否是管理員,然後將此方案應用於管理員應只能訪問的任何頁面,區域,按鈕,項目等。

對於#4,有幾個解決方案,我能想到的:

  1. 謂詞 - 確保在應用程序檢查每個查詢根據自己組的數據是否是當前用戶查看。

  2. 視圖 - 將安全謂詞封裝在每個表的視圖中,以便您不必在整個應用程序中重複此代碼。

  3. Oracle VPD或行級別安全性(需要企業許可證) - 這隱藏了SQL級別後面的安全性謂詞。

我已經使用上述所有3個選項用於不同的項目;第三個是用於相當大的應用程序,具有相當複雜的權限檢查規則。 RLS使這個項目變得更簡單,更容易建立和驗證;但是在某些情況下,RLS可能會過度殺傷。