如何存储WPF应用程序的登录信息

本文关键字:应用程序 登录 信息 WPF 何存储 存储 | 更新日期: 2023-09-27 18:17:29

我用WPF开发了一个应用程序。我想添加登录页面,这将是系统特定的。多个用户可以在机器上注册应用程序。我想知道最好的方法,本地数据库存储凭据或服务,这将验证凭据。如果是本地数据库,请建议适当的一个是小的,安全的,并与。net应用程序兼容。

如何存储WPF应用程序的登录信息

这实际上取决于你想如何设置或实现它。

我实际上会使用Microsoft SQL Server Management DB来实现这一点。您可以在WPF应用程序中使用System.Data.SqlClient类从数据库中存储和检索用户登录信息。我将按照以下步骤执行:

  • 步骤1:在Microsoft SQL Server Management中创建数据库
  • 步骤2:创建一个表来存储用户登录凭据不同的Data字段以及它们的数据类型,这些数据类型会有所不同根据您希望验证用户的凭据。
  • 步骤3:根据您的要求创建登录页面
  • 步骤4:在登录页面中使用System.Data.SqlClient类选项能够连接、检索或保存用户登录数据
  • 步骤5:在数据库中保存用户凭据时使用Microsoft自己的凭据哈希安全类或加密类,将数据保存在DB中(不将原始密码保存在DB表中)。
  • 步骤6:使用相同的加密类来验证凭证在使用SQLClient从DB检索哈希/加密的凭据后。

这是在WPF应用程序中构建用户登录凭据页面的一般步骤或逻辑,但这可能根据您的软件需求或您想要实现它的方式而有所不同。

不使用数据库,有一个更简单的解决方案。用户可以在"User.cfg"中存放数据。方法如下:

步骤1:在应用程序的资源字典中添加一个条目。

<Application x:Class=”SampleApp.App”
   xmlns=”http://schemas.microsoft.com/winfx/2006/xaml/presentation”
   xmlns:x=”http://schemas.microsoft.com/winfx/2006/xaml”
   xmlns:properties=”clr-namespace:SampleApp.Properties”
   Exit=”OnExit”
   StartupUri=”MainWindow.xaml”>
     <Application.Resources>
         <properties:Settings x:Key=”Settings” />
     </Application.Resources>
</Application>

步骤2:使用设置

<TextBox Text=”{Binding Source={StaticResource Settings}, Path=Default.Username}” />

步骤3:保存设置。

private void OnExit(object sender, ExitEventArgs e)
{
    Properties.Settings.Default.Save();
}

访问设置:

Properties.Settings.Default[“Username”]

更多信息请点击此链接

您可以使用SQLite作为项目的本地数据库。所有的数据都存储在硬盘上的一个文件中。

SQLite可以通过NuGet包管理器安装。