如何在安装时在 C# Windows 应用程序中保存用户名和密码?

问题描述 投票:0回答:2

我正在处理这个 C# Windows 应用程序(.Net 3.5,VS 2008),我必须为其创建一个 exe 文件,到目前为止没有问题, 该应用程序使用 betfair exchange API,这需要首先“登录”才能获得任何其他服务的会话令牌,

所以我的团队领导希望我以这样的方式部署应用程序-

  1. 应用程序应在安装时向客户询问用户名和密码
  2. 如果用户输入用户名和密码,应用程序每次都会直接启动并使用提供的用户名和密码登录 自动进入网络服务。
  3. 如果用户在安装时没有输入 USER/Pass,那么安装后应用程序必须每次都询问用户名密码 它推出的时间。

所以我的主要问题是: 如何在安装时获取和存储用户名/密码

我试着把它写在 app.config 中,但它以某种方式弄乱了我的网络服务设置:/

c# installation settings
2个回答
1
投票

需要注意的几件事。

首先,app.config 文件通常不被认为是安全媒体,因此您不应该在其中存储用户名/密码(特别是如果它们未加密)

在 Windows 应用程序中存储这些详细信息的常见位置是在注册表内(可以对其进行许可以降低安全风险)。

所有密码应以加密格式存储。不幸的是,鉴于这需要与外部系统一起使用,这种加密将需要是可逆的。


1
投票

我认为你可以用稍微不同的方法来做到这一点:

  • 创建一个安装程序来安装您的程序
  • 在安装结束时使用开关凭据启动您的程序 (
    /credentials
    )
  • 此命令行开关将允许用户输入和保存身份验证凭据

您可以将凭据保存在当前用户的settings app.config 文件中... 当然,您将必须开发与

/credentials
选项相关联的所有逻辑(表单,ecc)。

© www.soinside.com 2019 - 2024. All rights reserved.