所以我继承了这个项目,它有大约 20 个表单、数百个控件和数万行代码。我已经研究了一段时间,现在我的老板要求添加用户帐户。
基本上,会有不同的级别,例如User
、Supervisor
和Administrator
。当您启动应用程序时,您必须登录,它会根据某种数据库检查您的登录凭据,并确定您拥有什么样的权限。
User
将在主窗体上禁用除Go
按钮之外的所有控件(这样做的好方法吗?)。Supervisor
将启用所有内容并可以创建用户帐户(仅以某种形式)。Administrator
相同Supervisor
但也可以备份用户帐户。
现在我的问题是我不确定如何实现这一点。我无法查询在线服务或数据库,因为该程序必须在没有互联网连接的情况下才能使用。在计算机上拥有外部文件的问题是有人可以编辑或删除它。
我的想法是将用户帐户存储在Settings
应用程序的类中,但即使存储外部配置文件。我想我需要它能够存储在可执行文件中,但也需要作为文件保存和导入。
显然,密码也必须在此文件中进行哈希处理。有谁知道任何好的且易于使用的类(最好是没有使用限制的类,因为此应用程序将在商业上出售)。用户名也应该被散列吗?因为如果有人掌握了该文件,他们也不应该知道所有用户名,因为这样可以更容易猜测密码。