【问题标题】:C# desktop application - how to save default admin username and passwordC# 桌面应用程序 - 如何保存默认管理员用户名和密码
【发布时间】:2019-04-09 22:23:25
【问题描述】:

我的任务是为 .NET 桌面应用程序设置默认管理员凭据。截至目前,该应用程序使用 Windows 管理员凭据来访问管理器页面,我想添加一个本地默认管理员帐户。

我想用户会经历以下过程: (1) 应用程序的全新安装 (2) 用户启动应用程序 (3) App处于“注销”状态 (4) 用户使用提供的默认凭据以管理员身份登录(在用户指南中提供) (5) 首次登录后,提示用户将本地默认凭据更新为更安全的密码

在对 google 和堆栈溢出进行了一些研究之后,我读到我绝对不应该在源代码中硬编码用户凭据。我正在考虑将默认用户名/密码存储在 app.config 文件中。然后,在管理器页面中,用户可以将当前的用户名/密码更新为更安全的内容。只有一个本地管理员帐户,所以 app.config 文件中的用户名/密码需要更新?

换句话说,默认用户凭据将存储在应用配置中。然后,每当用户更新本地凭据时进行修改。这种方法是否适用于我上面描述的情况?如果没有,我会很感激任何想法。我也研究过 DPApi,但更喜欢更简单的方法。

【问题讨论】:

标签: c# .net security encryption local


【解决方案1】:

如果您不想使用 Active Directory、AZMan 或其他流行的解决方案,您可以通过多种方式存储凭据:

  • 在二进制文件中使用您自己的编码模式。
  • 在 SQlite 等嵌入式数据库中。
  • 在 Windows 注册表中保存凭据。

在 app.config 中存储敏感数据是不好的方式。

【讨论】:

  • 对于应用只有一个本地管理员账户的情况,哪种实现最简单?
  • 最简单的方法是文件。首先声明用于保存用户名/密码的类。之后,您可以将对象序列化/反序列化为文件。欲了解更多信息,请阅读以下网址:stackoverflow.com/questions/6115721/…
猜你喜欢
  • 2013-05-01
  • 2012-12-24
  • 2010-09-18
  • 2019-11-02
  • 2017-02-03
  • 2021-06-29
  • 2020-06-23
  • 2022-03-17
  • 1970-01-01
相关资源
最近更新 更多