10

Win8には、コントロールパネルに[ユーザーアカウントとファミリセーフクレデンシャルマネージャー]というセクションがあることを発見しました。そこに保存されている資格情報にアクセスしたい(パスワードを取得するのではなく、ログインのトークンとして使用するため)。ですから、基本的には、すでにインストールされているソフトウェアに便乗したいと思います。

この議論では、解決策に最も近いものが提案されていますが、それほど近いものはありません。

  1. Windows.Security.Credentials.PasswordVaultのアセンブリはどこにありますか?私は2時間グーグルを続けていますが、デスクトップをターゲットにしている間はアプリ開発に関する情報しか得られません。

  2. Win7とWin8の両方の事前に保存された資格情報へのアクセスを解決する方法はありますか?Win8でボールト機能が大幅に改造され、両方のプラットフォームを同時にターゲットにすることが不可能になるのではないかと少し心配しています。

4

3 に答える 3

7

方法:参照マネージャーを使用して参照を追加または削除すると、次のようになります。

デスクトッププロジェクトでは、[コア]タブはデフォルトでは表示されません。Windowsランタイムを追加するには、プロジェクトノードのショートカットメニューを開き、[プロジェクトのアンロード]を選択し、次のスニペットを追加して、プロジェクトを再度開きます(プロジェクトノードで[プロジェクトの再ロード]を選択します[参照マネージャー]ダイアログボックスを呼び出すと、[コア]タブが表示されます。

<PropertyGroup>
    <TargetPlatformVersion>8.0</TargetPlatformVersion>
</PropertyGroup>

このタブのWindowsボックスを必ずチェックしてください。これで、WinRT要素を使用できるようになります。

于 2013-02-11T14:24:05.847 に答える
6

私は同じ問題に遭遇し、どこにも簡単な答えがないことを知りました。

これは私が見つけたものです:

  1. TargetPlatformVersionプロジェクトをアンロードして、上記のように追加する必要があります。
  2. 参照を追加します。C:\Program Files (x86)\Windows Kits\8.1\References\CommonConfiguration\Neutral\Annotated\Windows.winmd
  3. また、参照を追加します。C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5\System.Runtime.WindowsRuntime.dll
于 2015-06-10T20:13:40.780 に答える
3

ラップされた資格情報管理パッケージを使用できます。これはオープンソースプロジェクトです。私はそれをWindows7でチェックしました、そしてそれは正しく動作します。

データを保存するには、次のコードを使用します。

    Credential saved = new Credential("username", "password", "MyApp", CredentialType.Generic);
    saved.PersistanceType = PersistanceType.LocalComputer;
    saved.Save();

そして、データをロードするには、次のようにします。

    Credential credential = new Credential { Target = "MyApp", Type = CredentialType.Generic };
    credential.Load();
于 2014-11-30T10:41:24.013 に答える