打开/关闭应用程序的功能

本文关键字:功能 应用程序 打开 | 更新日期: 2023-09-27 18:18:37

我在我的。net应用程序中有几个功能,我希望能够打开/关闭。据我所知,有几个选项可用:

    配置文件注册表
  • 定制xml文件

由于安全原因,我想避免任何与Windows注册表相关的内容。同时,我不喜欢配置文件/自定义xml文件的是,它可以由客户端访问(例如,客户端可以打开他/她没有支付的功能)。

如果你能对我的问题提点建议,我将非常感激。是否有一种方法可以跟踪配置文件中的更改(我仍然希望能够更改其他设置),或者我可以例如在我的应用程序发布之前构建一些将要运行的进程,并询问要打开/关闭哪些功能并将此设置保存在某个地方(不可用于客户端)。

非常感谢。

打开/关闭应用程序的功能

我看到以下选项:

  1. 每次应用程序启动时,连接到远程服务器或远程数据库以检查用户权限。主要缺点:用户在使用应用程序时必须有互联网连接。

  2. 将其存储在本地(无论哪种方式),但以加密形式存储。最简单的选择是使用证书。主要缺点:你必须提供"基础设施"来管理许可证密钥。

有许多方法可以处理这种情况,但最简单的方法之一可能是加密配置文件。

  • 使用非对称加密系统(如RSA)
  • 在构建过程中,使用私钥加密文件,并将其与应用程序
  • 一起分发
  • 在应用程序的代码中,使用公钥解密文件,并相应地激活功能

您也可以使用对称加密系统,但非对称方法的优点是,即使最终用户通过对应用程序进行反向工程获取密钥,他也不能生成假文件(尽管他仍然可以直接篡改应用程序的二进制文件)。

如果你只想有一个地方让你的数据不被篡改,你可以对app.config签名。这样就不能更改它,但它仍然是可读的xml。没有加密。