2013-10-03 90 views
0

請考慮以下情形。創建一個應用程序來管理每個員工記錄存儲在一個單獨的單個文件中的人員記錄。讀取和寫入訪問必須獨立控制,以適用於不同類型的員工數據。該工具必須有權讀取和寫入某些部分(如聯繫信息),只能閱讀其他部分(如歷史信息),並且不能訪問其他敏感部分(如工資率)。.NET代碼訪問安全性

如何使用CAS可以正確控制訪問?在這種情況下,內置CAS功能是否足夠?

我的想法如下:

我們可以根據例如一個用於聯繫人信息,所述其他的歷史信息等,然後將它們賦值在單獨的應用程序域的操作的類型分離代碼(與適當的安全權限到域)。我們能否明確指定在C#中創建應用程序域和相關的權限?

+1

巨大的矯枉過正(IMO)..爲什麼不在你的代碼中維護這種安全性? –

+0

當你說「文件」你的意思是平面文件?或者你在使用某種數據庫嗎? –

+0

@John平面文件。 – Karan

回答

0

就我個人而言,我會專注於保護數據。

將平面文件放在具有適當權限的目錄中(例如,定義哪些組應具有訪問權限,授予對組的訪問權限,並維護每個組對應於用戶的ACL)。

當你的應用程序試圖打開一個文件,你必須處理兩種情況:

  1. 的文件打開。按常規處理此案例並顯示UI。

  2. 由於文件系統權限不足,文件訪問被拒絕。您的應用程序在此時應顯示適當的錯誤,然後允許用戶返回主菜單或其他任何內容。

不要以爲除了這個之外你還需要做任何事情。代碼訪問權限用於保護代碼邏輯,而不是監視數據。

+0

我認爲問題在於他想限制從*文件中的*部分讀取部分。如果敏感信息位於與非敏感信息相同的文件內部,這將是完美的,但如果合併則不會。 –

+0

哎呀,這確實很難! –

相關問題