2016-11-10 647 views
1

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

回答

1

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

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

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

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

0

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

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

相关问题