2013-08-03 23 views
0
  • 映射驅動
  • C#
  • 服務器和客戶端在同一個網絡

我建立了實驗室的小軟件上。測試請求和實驗室技術人員執行測試,並輸入結果,軟件創建報告,將其轉換爲pdf,並將其保存在服務器上的一個文件夾中,這樣當醫生登錄軟件時,他們可以看到文件格式爲網格。只有從這種形式中,文件才能打開。服務器的客戶機上相同的網絡C#共享文件

一切工作正常,但我需要限制訪問該文件稱爲歸檔,使用戶無法手動訪問它。我只需要我的軟件就可以訪問它。

所以我打算做的是,一旦客戶端軟件登錄到服務器軟件,我希望服務器軟件的用戶名和密碼發送到保持對用戶隱藏的客戶端軟件。因爲只有客戶端軟件能夠創建,刪除和更改位於服務器上的歸檔文件夾中的文件。

我怎麼可以把該文件一個用戶名和密碼?我需要在服務器上創建一個帳戶嗎?還是有另一種方法來做到這一點?

回答

1

我建議不要使用密碼。您不希望存儲它們,處理更改並冒險離開。如果客戶端程序可用,則用戶通常可以使用它。你不能相信客戶或用戶。

爲什麼不能讓服務器可以訪問該文件夾?不要爲用戶提供存檔文件夾的任何權限,但讓客戶端將文件發送到服務器(通過將此選項添加到服務器的API)。服務器可以驗證用戶是合法的(使用您自己的身份驗證和授權,如果有的話),並且文件顯示正常,然後將它們放在Archive文件夾中。這樣,只有運行服務器進程的用戶才能訪問該文件夾,並且不必亂用密碼和帳戶。

另一個想法,如果你不希望太多與服務器更改API。創建另一個用戶將有權訪問的文件夾。客戶端將文件上傳到這個文件夾。服務器可以定期掃描文件夾或從客戶端收到有關該文件的通知,檢查該文件並將其移至受保護的存檔文件夾。

+0

服務器軟件位於服務器上,沒有人可以訪問它。 如果客戶端只將文件上載到服務器,則您的解決方案很好。但客戶端上傳和下載。 我想我會做一個帳戶和一個密碼,並且服務器以結構形式將詳細信息發送到客戶端,並且從不保存客戶端上的信息。 – Fares

+0

即使客戶端不存儲它 - 它在內存中。而且您仍然需要將其存儲在服務器上。爲什麼客戶需要下載以及它不同?它也可以通過服務器來做到這一點。我添加了另一個解決方案。 – Vadim

+0

第二個想法很好,我今天會實施它,看看它給了我什麼。謝謝。 – Fares

相關問題