2016-11-10 46 views
1

私はWPFで開発されたアプリケーションを持っています。システム固有のログインページを追加したいと思います。複数のユーザーがアプリケーションにマシンに登録できます。私は最善のアプローチ、資格証明を格納するローカルDB、または資格情報を検証するサービスを知りたいと思います。ローカルDBの場合は、小さくて安全で、.netアプリケーションと互換性のある適切なものをお勧めします。WPFアプリケーションのログイン情報の保存方法

答えて

1

これは実際に設定する方法や達成する方法によって異なります。

私は実際にこれを達成するためにMicrosoft SQL Server Management DBを使用します。 WPFアプリケーションでSystem.Data.SqlClientクラスを使用すると、DBからユーザーのログイン情報を格納および取得できます。私は、次の手順で行います:

  • 手順1:Microsoft SQL Server管理にDBを作成し
  • ステップ2:そのデータ型と一緒に 異なるデータフィールドを持つストアのユーザーログイン資格に表を作成し、どの資格情報を使用してユーザーを検証するかに基づいて、 に変更されます。
  • ステップ3:あなたの要件ごとにログインページを作成します
  • ステップ4:あなたのログインページ で使用System.Data.SqlClientのクラスオプションは
    資格情報でユーザログインのデータを、接続して取得したり、保存することを可能にしますDB。
  • 手順5:DBにユーザー資格情報を保存するときに、Microsoft独自の ハッシュセキュリティクラスまたは暗号化クラスを使用して、DBにデータを保存します(パスワードはDBテーブルに未加工として保存されません)。
  • 手順6:同じ暗号化クラスを使用して、SQLClientを使用してDBからハッシュ/暗号化された資格情報を取得した後で、資格情報 を確認します。

これは、WPFアプリケーションでユーザーログイン資格情報ページを作成する一般的なウォークスルーまたはロジックですが、これはソフトウェア要件または達成方法によって異なる場合があります。

0

SQLiteをプロジェクトのローカルデータベースとして使用できます。すべてのデータは、ハードディスク上の1つのファイルに保存されます。 SQLiteは、NuGetパッケージマネージャを使用してインストールできます。

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に従ってください。

関連する問題