2009-11-15 65 views
0

我想爲我的網站製作一個非常簡單的CMS。所以我在想這是一個用戶登錄並顯示他們的頁面列表。現在他們改變目標並保存。然後我的C#代碼將寫入文件/部分。設置在IIS7中讀寫文檔文件的用戶權限

所以我認爲這樣做不好,但我不確定它是如何與讀取和寫入權限以及如何設置它。

就像我希望用戶只能夠讀取和寫入他們擁有自己的文件。

因此,如果用戶A Page1.html和Page2.html他們只能讀取這些文件,並寫入這些文件,他們可以觸摸用戶B的page3.html和Page4.html

那麼我將如何設置這件事?

謝謝

回答

1

當您創建文件列表時,您將從數據庫存儲庫讀取該列表。在該代碼中包含僅允許用戶擁有權限的記錄的條件。

最直接的方法是創建一個包含兩列的表格:UserID和DocumentID。表中存在記錄表示用戶具有該特定文檔的許可。將記錄添加到此表中,爲用戶提供相應文檔的權限。

然後,當您從數據庫中讀取文檔時,可以通過DocumentID將此表連接到文檔表,並通過UserID過濾表。這將只返回用戶擁有權限的記錄。然後,您可以使用該組記錄作爲顯示給用戶的文檔列表的基礎。

+0

要添加,如果用戶試圖通過說URL或被黑方式回發來「讀/編輯」另一個用戶的文件,您必須通過始終檢查用戶和所請求的文件/文檔來明確拒絕代碼中的訪問。 – 2009-11-15 01:51:47

0

你可以使用一個CMS在SharePoint的方式。您從網絡上的基本文件開始。如果對其進行了更改,則該頁面將存儲在數據庫中。每個後續更改都是一個數據庫更改,應用程序呈現該頁的表中的最後一個條目。

這樣做有兩件事。首先,您可以看到修訂並重新設置它們。您可以看到該頁面的完整歷史記錄,誰進行了更改以及何時進行了更改。

它也可以讓你鎖定在數據庫中的網頁,並分配角色/用戶對頁面。然後您可以將修飾應用於控制器,該控制器檢查權限並呈現頁面或顯示拒絕訪問頁面,然後記錄嘗試訪問該頁面的權限。

我知道這聽起來很複雜,但是您能否預見一段時間,當您與您的cms一起生活後,客戶會從中獲得更多利益?您需要實施適合需求的解決方案。

是否值得再寫這是值得書寫好。