1

我有一个应用程序,我希望我的用户保存这些值:

  • LDAP 连接字符串
  • 用户名
  • 密码

问题是这个应用程序是 Windows 窗体,必须能够在 Windows XP/Vista/7 上运行,而且还可以在 Server 2003 和 Server 2008 上运行。

考虑到这一点,您如何建议我将这些设置保存为三个值。请记住,每个收藏夹(可以是 N 个)都具有这些属性中的一个。

4

4 回答 4

0

使用 .NET 2.0+ 提供支持的 user.config 文件。可能很有用。

当然,不建议以明文形式保存密码。

于 2011-04-03T04:59:38.747 回答
0

您可以使用 System.Security.Cryptography 中的 ProtectedData 安全地保存这些内容,以便只有用户才能解密它。Windows 在内部使用它来保存您的登录详细信息。

有关受保护数据的 MSDN 文章

于 2011-04-07T13:41:06.947 回答
0

对于这样的事情,.Net 有一个独立的存储。可以选择隔离存储机器/应用程序/用户等的范围。根据范围,.Net 在用户或机器配置文件下创建一个特殊目录,应用程序可以在其中存储特殊的应用程序/用户相关数据。要获取存储,请使用以下命令:

IsolatedStorageFile isoStore = IsolatedStorageFile.GetStore(
    IsolatedStorageScope.Assembly | IsolatedStorageScope.User, null, null);

要获取特定隔离存储中的文件,请使用 GetFileNames:

string[] fileNames = isoStore.GetFileNames();

在隔离存储中创建或打开流:

// use the correct FileMode flag Open/Create/Trancate/etc.
IsolatedStorageFileStream isoStream = new IsolatedStorageFileStream(
    <file_name>, FileMode.Create, isoStore);
于 2011-04-03T05:08:42.107 回答
0

如果您询问如何以加密方式保存这三个值的列表,我可以建议将该列表保存在一个 zip 文件中,该文件使用Ionic.Zip受非常强的密码保护。
您可以将 zip 作为流读取,而无需解压缩。

于 2011-04-03T05:45:22.273 回答