2008-09-16 98 views
-1

我正在設計一個門戶的安全體系結構。該網站包含頁面,視頻,圖片,用戶,數據庫,文件系統對象等。控制訪問所有這些對象的最佳方法是什麼?你將如何存儲權限? 64位數據庫變量是否足以存儲權限?創建安全架構的最佳方式是什麼?

E.g. Windows僱用了ACLsSIDs。你有更新的解決方案嗎?

回答

1

我不喜歡將權限作爲標誌存儲在一個變量中的想法。 我寧願與用戶建立多對多的角色對象。

對於編輯特定對象的權限,我使用對象的方法或外部函數,具體取決於我如何概括安全策略。

對於中等大小的門戶網站來說,這種方法非常好。

0

大部分常見的網絡基礎設施都有內置的安全系統。例如,ASP.NET有一個相當健壯的安全子系統。安全性很難得到正確的處理,所以幾乎總是這樣,你會想要使用一個定期測試的系統。

如果你絕對必須編寫自己的安全系統,那麼我建議研究各種技術,如ACL,LDAP作爲用戶,組,模擬都是複雜的主題,需要進行研究以便與您的最佳匹配實際需要。

0

無論你會做什麼,使它簡單。更容易製作,更容易證明,更容易審覈。 更容易適應。

首先,考慮一個組/用戶系統。對於每一個對象定義設置權限,然後連接它們喜歡 - 這個用戶擁有這些權限,這組具有這些權限等

如果這還不夠,你(確保它是真的不夠),使用某種ACL系統,最好與您現有的解決方案集成在一起,最好儘可能簡單。

0

我打算按照基於角色的訪問控制安全設計模式Security Patterns: Integrating Security and Systems Engineering,p249)。角色與ProtectionObject有關聯。關聯名稱是IsAuthorised for。有一個名爲Right的關聯類,它有一個accessType成員和一個checkRights方法。角色與用戶進行多對多關聯。關聯名稱是MemberOf。這個結構可以代表角色,用戶和權限檢查。

我的主要問題是如何存儲每個對象的權限。假設我們有頁面,webparts和文件系統對象。我可以將這些對象的權限存儲在數據庫中。此方法還可以控制系統對象和文件系統對象。這對我來說是一個很大的問題如何在內存中存儲和緩存這些權限集以及如何有效檢查訪問

+0

我想你應該在你的問題中包括這個... – KovBal 2008-09-30 16:00:53