Как получить доступ к сохраненным учетным данным (PasswordVault?) На Win7 и Win8?

Я только что обнаружил, что в Win8 есть раздел на панели управления под названием " Учетные записи пользователей и семейство безопасно с диспетчером учетных данных". Я хотел бы получить доступ к учетным данным, хранящимся там (не для получения паролей, а для использования их в качестве токенов для входа в систему). Так что, в принципе, я хотел бы получить удовольствие от уже установленного программного обеспечения.

В этом обсуждении было предложено наиболее близкое решение, и оно не так близко.

  1. Где найти сборку для Windows.Security.Credentials.PasswordVault? Я гуглю два часа, но я получаю информацию только о разработке приложений, пока буду ориентироваться на десктоп.

  2. Есть ли способ разрешить доступ к предварительно сохраненным учетным данным для Win7 и Win8? Я немного боюсь, что хранилище было радикально перестроено в Win8, что делает невозможным нацеливание на обе платформы одновременно.

3 ответа

Решение

Как добавить или удалить ссылки с помощью диспетчера ссылок:

В настольных проектах вкладка Core не отображается по умолчанию. Вы можете добавить среду выполнения Windows, открыв контекстное меню для узла проекта, выбрав " Выгрузить проект", добавив следующий фрагмент и повторно открыв проект (на узле проекта выберите " Обновить проект"). Когда вы вызываете диалоговое окно Reference Manager, появляется вкладка Core.

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

Обязательно установите флажок Windows на этой вкладке. После этого вы сможете использовать элементы WinRT.

Я столкнулся с той же проблемой и обнаружил, что простого ответа нигде нет.

Вот что я нашел:

  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

Вы можете использовать упакованный пакет управления учетными данными. Это проект с открытым исходным кодом. Я проверил это в Windows 7, и он работает правильно.

Для сохранения ваших данных используйте следующий код:

    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();
Другие вопросы по тегам