2012-11-09 55 views
0

我有一個文本資源文件,裏面充滿了哈希用戶名+密碼及其相關權限。當他們啓動應用程序時,他們登錄並根據他們的憑據訪問應用程序的不同部分。如何更新已編譯的文本資源文件?

這一切運作良好,但問題是,與管理員帳戶的人應該能夠添加新的用戶從程序中的列表。我環顧四周,似乎你不打算編輯已編譯的資源文件。

但是,我無法將此用戶列表保存到計算機,因爲有人可以刪除它,編輯它或損壞它。此外,我無法查詢在線服務,因爲應用程序經常在沒有互聯網連接的地方使用。

我喜歡使用資源文件,因爲它們嵌入在可執行文件中,並且不會經常創建新用戶。有什麼方法可以在應用程序運行時編輯和重新編譯資源文件?有沒有人知道我可以用來爲這個應用程序提供離線安全性的其他選擇嗎?

+0

這聽起來很像默默無聞,而不是安全。 –

回答

2

它是possible更新可執行文件中的字符串資源。 Microsoft有一個Stablupd示例,顯示如何執行此操作。還有圍繞WinAPI資源功能構建的C#庫,如ResourceLib。但是,我不建議在運行時嘗試更改可執行文件的資源。它可能不會造成任何問題,但這不是一個好的設計實踐。我認爲你最好的選擇是將信息存儲在加密文件中或在註冊表中加密。您可以在程序關閉時將該文件標記爲只讀,並在程序運行時將其鎖定。是的,用戶仍然可以刪除它,但是如果你正在編輯程序中的資源,他們也可能刪除或卸載你的程序,那麼你最終會失去所有的數據。至少將它存儲在註冊表中的被刪除的可能性較小。

1

您可以使用SQL Server Compact來存儲和更新所需的信息。

但是,在本地存儲密碼絕對不是個好主意: - 出於安全原因。任何人都可以輕鬆訪問 - 可擴展性。您不能使用您的應用程序的更多副本。其他方式兩個不同的管理員將創建兩個不同的帳戶,並且沒有辦法同步兩個數據庫

相關問題