所以我繼承了這個項目,它有大約20個窗體,數百個控件和成千上萬行代碼。我已經研究了一段時間,現在我的老闆正在請求添加用戶帳戶。需要關於添加用戶帳戶到Windows窗體的建議
基本上,會有不同的級別,如User
,Supervisor
和Administrator
。當你啓動應用程序時,你將不得不登錄,它會根據某些數據庫檢查你的登錄憑據,並確定你擁有哪種類型的權限。
User
在主窗體上除了Go
按鈕(可以這麼做的好方法)之外,將禁用所有控件。 Supervisor
將啓用一切功能,並可以使用戶帳戶(只是在某種形式)。 Administrator
與Supervisor
完全相同,但也可以備份用戶帳戶。
現在我的問題是我不完全確定如何實現這一點。我無法查詢在線服務或數據庫,因爲該程序必須可以在沒有互聯網連接的情況下使用。在計算機上安裝外部文件的問題是有人可以編輯它或刪除它。
我的想法是將用戶帳戶存儲在應用程序的Settings
類中,但即使存儲了外部配置文件。我想我需要它可以存儲在可執行文件中,但也可以保存並導入爲一個文件。
顯然密碼也必須在這個文件中被散列。有誰知道任何好的和易於使用的類(最好是沒有使用限制,因爲這個應用程序將被商業銷售)。用戶名是否也應該散列?因爲如果有人拿到文件,他們不應該知道所有的用戶名,因爲它可以更容易猜出密碼。
您不能相信客戶端進行身份驗證。這是重要的數據。無論您將哪種控件放入應用程序,只要可以直接讀取和寫入數據,它們都是無用的。我的第一次攻擊就是將我的散列密碼粘貼到管理員的散列配置中。我現在有管理員權限。 – ixe013