2009-07-10 82 views
0

我很好奇實施驗證的最佳方法。使用Business Objects的Client-Server應用程序中的規則。授權規則的最佳途徑

我注意到常用的策略是:
- 在DB方面:實現一個申請的作用,適用於所有應用程序的用戶
- 定義權限的用戶和角色,將用戶分配到適當的組
- 客戶端方:添加到Business Object的getters/setter權限檢查器,允許針對特定用戶的寫入/顯示數據

我的擔心是如果從安全角度來看這是非常好的方法。
它看起來DB將所有信息發送到客戶端,然後客戶端的邏輯決定要顯示或不顯示。
因此,潛在的高級用戶可以從他們的盒子查詢並查看/更改任何內容。 不是嗎?

回答

0

如果數據庫正在向客戶端發送所有信息,包括某些用戶不應該看到的信息,則說明存在安全問題。您只應返回用戶有權查看的數據量。

與您的應用程序和數據庫設計緊密相關的授權設計。如果您需要非常細微的(可能是每個用戶)權限,那麼您需要能夠在設計中進行相當深入的指定,以確保其安全。如果你只有簡單的規則來實現,那麼你可以在更高層次上工作,也許可以阻止訪問某些對象或表。