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

时间:2016-11-10 14:12:35

标签: c# .net wpf database login

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

3 个答案:

答案 0 :(得分:1)

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

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

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

这是在WPF应用程序中构建用户登录凭据页面的一般步骤或逻辑,但这可能会因您的软件要求或您希望如何实现而有所不同。

答案 1 :(得分:0)

您可以使用SQLite作为项目的本地数据库。您的所有数据都存储在硬盘上的一个文件中。您可以通过NuGet包管理器安装SQLite

答案 2 :(得分:0)

而不是数据库,有一个更简单的解决方案。您可以在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”]

有关详细信息,请按此link