Windows 8 アプリにユーザー資格情報を保存するために PasswordVault を使用しています。
ロード時にアプリに実行させたいことは、PasswordVault /資格情報マネージャーにアプリの値が既に保存されているかどうかを確認することです。そうでない場合は、ユーザーがログインできるようにページに残しておきたいのですが、資格情報が既にある場合は、2 ページに直接移動したいと思います。
次のコードを使用してみました:
private Windows.Security.Credentials.PasswordCredential GetCredentialFromLocker()
{
Windows.Security.Credentials.PasswordCredential credential = null;
var vault = new Windows.Security.Credentials.PasswordVault();
var credentialList = vault.FindAllByResource("MYapp");
if (credentialList.Count > 0)
if (credentialList.Count == 1)
credential = credentialList[0];
else
// User selecor
return credential;
}
そして、ページの読み込み時に私は持っています
private void Page_Loaded(object sender, RoutedEventArgs e)
{
var loginCredential = GetCredentialFromLocker();
if (loginCredential != null)
this.Frame.Navigate(typeof(page2));
else
{
loginBigButton.Visibility = Windows.UI.Xaml.Visibility.Visible;
signUpButton.Visibility = Windows.UI.Xaml.Visibility.Visible;
signUpTextBlock.Visibility = Windows.UI.Xaml.Visibility.Visible;
}
}
問題は、資格情報がリソース (MYapp) と共に格納されていない場合、コード:
var credentialList = vault.FindAllByResource("MYapp");
収量:
WinRT 情報: Vault で資格情報が見つかりません
追加情報: 要素が見つかりません。