2014-10-05 2 views
1

Windows 8.1, C# 및 .NET Framework 4.5.1 용 Windows Store 앱을 개발하고 있습니다.PasswordBox.SecurePassword를 WinRT Store 앱에서 사용할 수 없습니다.

나는 PasswordBox.SecurePassword을 사용하려고하지만 사용할 수없는 것 같습니다. 프레임 워크 버전을 4.5로 변경 했으므로 .NET Framework 4.5.1로 WPF 테스트 프로젝트를 시도했지만 사용할 수 없습니다.

PresentationFramework.dll 어셈블리를 Windows 8.1 Store 앱에 추가하려고 시도했지만 할 수 없습니다. SecurePassword이있는 경우

{ 
    PasswordBox pass = new PasswordBox(); 
    pass.SecurePassword // I'm checking if it is available 
} 

확인하기 위해,하지만 SecurePassword 윈도우 스토어 앱을 사용할 수 없습니다 :

나는이 작업을 수행하기 위해 노력하고있어.

SecurePassword은 Windows 스토어 응용 프로그램에서 사용 가능합니까?

답변

0

나는 윈도우 스토어 응용 프로그램
난 당신이 희망을 생각 했고요 SecureString이
당신은 Windows.Security.Credentials의 방법을 사용해야합니다 사용하고

10/07 밤 (일본 시간) 개체 수 없다는 무서워 작업에 로그인하는 것을 좋아합니까?
"Windows.Security.Credentials 네임 스페이스"가 간단한 솔루션 인 경우.

, 위의 코드

CS 파일

//MainPage.xaml.cs 
using System; 
using System.Collections.Generic; 
using System.IO; 
using System.Linq; 
using System.Runtime.InteropServices.WindowsRuntime; 
using Windows.Foundation; 
using Windows.Foundation.Collections; 
using Windows.UI.Xaml; 
using Windows.UI.Xaml.Controls; 
using Windows.UI.Xaml.Controls.Primitives; 
using Windows.UI.Xaml.Data; 
using Windows.UI.Xaml.Input; 
using Windows.UI.Xaml.Media; 
using Windows.UI.Xaml.Navigation; 
using Windows.Security.Credentials; 

namespace App1 
{ 

public sealed partial class MainPage : Page 
{ 
    PasswordVault vault = new PasswordVault(); 

    public MainPage() 
    { 
     this.InitializeComponent(); 
     this.NavigationCacheMode = NavigationCacheMode.Required; 

     //Initialize Credential data 
     try 
     { 
      var alldata = vault.FindAllByResource("My List"); 
      foreach (PasswordCredential data in alldata) 
      { 
       vault.Remove(data); 
      } 
     } 
     catch { } 
    } 
    protected override void OnNavigatedTo(NavigationEventArgs e) 
    { 
    } 

    private void Button_Click(object sender, RoutedEventArgs e) 
    { 
     //Certificate for Input data 
     PasswordCredential credential = null; 
     try 
     { 
      credential = vault.Retrieve("My List", Username.Text); 

      if(credential.Password==password.Password)    
      { 
       Status.Text = "Status : Succeed in Certificating"; 
      } 
      else 
      { 
       Status.Text = "Status : Failed to Certification"; 
      } 
     } 
     catch { Status.Text = "Status : Failed to Certification"; } 
    } 

    private void Button_Click_1(object sender, RoutedEventArgs e) 
    { 
     //Registar on Input data 
     try 
     { 
      vault.Add(new PasswordCredential("My List", Username.Text, password.Password)); 
      Status.Text = "Status : Succeed in Registering"; 
     } 
     catch 
     { 
      Status.Text = "Status : Failed to Register"; 
     } 
    } 
} 
} 

XAML 파일 제발 봐

<Page> 

    <!-- MainPage.xaml --> 
    <Grid> 
     <PasswordBox Name="password" HorizontalAlignment="Left" Height="118" Margin="531,197,0,0" VerticalAlignment="Top" Width="464" FontSize="52"/> 
     <TextBox Name="Username" HorizontalAlignment="Left" Height="118" Margin="531,44,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="464" FontSize="52"/> 
     <TextBlock HorizontalAlignment="Left" Height="118" Margin="10,44,0,0" TextWrapping="Wrap" Text="UserName" VerticalAlignment="Top" Width="505" FontSize="80"/> 
     <TextBlock HorizontalAlignment="Left" Height="120" Margin="10,195,0,0" TextWrapping="Wrap" Text="PassWord" VerticalAlignment="Top" Width="505" FontSize="80"/> 
     <TextBlock Name="Status" HorizontalAlignment="Left" Height="111" Margin="10,327,0,0" TextWrapping="Wrap" Text="Status " VerticalAlignment="Top" Width="1329" FontSize="60"/> 

     <Button Content="Certification" HorizontalAlignment="Left" Height="124" Margin="1006,41,0,0" VerticalAlignment="Top" Width="336" Click="Button_Click" FontSize="52"/> 

     <Button Content="Registration" HorizontalAlignment="Left" Height="124" Margin="1006,194,0,0" VerticalAlignment="Top" Width="336" Click="Button_Click_1" FontSize="52"/> 

    </Grid> 
</Page> 

1.Make는 "PasswordVault"예를

-Registar 데이터
2a.Use PasswordVau 자원 이름 (값)를 입력 문자열
2 매개 변수 : 사용자 이름 입력 문자열
3 매개 변수 :
PasswordCredential 인스턴스 3 개 매개 변수
1 매개 변수가 필요 PasswordCredential 인스턴스와 lt.Add 방법 암호를 입력 문자열을

-certificate 데이터 2paraeters와
2b.Use PasswordVault.Retribe 방법
1 매개 변수 : 자원 이름
2 매개 변수 (당신은 당신이 등록에 사용 된 것과 동일한 이름을 사용해야합니다) : 사용자 이름
반환 PasswordCredential 값
당신은 예를 들어 PasswordCredential 값

에서 답변

//data is a PasswordCredential value 

//get Username 
string username = data.UserName; 
//get Password 
string password = data.Password 
+0

감사를 암호 및 사용자 이름을 얻을 수 있습니다,하지만 난 그것을 이해하지 않습니다. Windows.Security.Credentials라는 XAML 컨트롤이 있습니까? – VansFannel

+0

답장을 보내 주셔서 감사합니다. 그러나 저는 영어가 아니며 미국인도 아니며이 문장에서 '로그'의 의미를 이해하지 못합니다. '직장에 로그인하는 것이 좋겠다고 생각합니까?'감사합니다. . – VansFannel

+0

나는 또한 영어 원어민이 아니다. 나는 일본인이다. 일본에서는 인증 작업을 종종 "로그인 작업"이라고합니다. 오해의 소지가 생겨서 죄송합니다. –

관련 문제