2009-08-22 74 views
1

你知道任何設計模式實施的對象,這意味着CRUD級鎖,對於對象的一個​​實例,我應該能夠爲每個指定不同的訪問控制級別操作(創建,讀取,更新,刪除)。例如,人員A可以讀取和更新對象Z,但不可以將其刪除。某乙可以讀取,更新和刪除對象X,Y和ZCRUD級鎖 - 設計模式

我擔心的是,當有大量數據會發生什麼。換句話說,我正在尋找有效的東西。

我一旦實施這種對對象的訪問控制的,我知道如何是可以做到的,我只是想知道如果確實是某種這種設計模式的。

回答

1

有可用的信息一大堆。 This是一個合理的出發點。對於大型數據集,它可以很難把事情效率 - 最大限度地在運行時的性能將意味着在設計過程中花費更多的開發人員的時間。可悲的是,沒有銀彈。

在Lotus Notes中可以找到一個很好的對象級別控件的示例,它以您描述的方式提供對對象的精細訪問。 (注意不是以其出色的表現,但很安全的,因爲這樣的系統中去。)

0

我認爲這是任何「服務」的授權的一個特例。

它要求你必須知道調用方的憑據的某種方式。如果您要避免在每種方法上明確傳遞此類信息,那麼在確定授權時您需要一些隱含的「上下文」。逐人管理這些功能往往變得非常不靈活,所以您往往需要基於角色的訪問控制以及將用戶組分配到角色的方式。

所有這一切都意味着與其說是設計模式爲框架,盤剝。像Spring和Java EE這樣的框架內置了這樣的功能,它們反過來可能會利用LDAP來利用目錄。

所以我的「模式」是不要重新發明輪子,找到一個合適的框架並使用它。