Как получить доступ к сохраненным учетным данным (PasswordVault?) На Win7 и Win8?
Я только что обнаружил, что в Win8 есть раздел на панели управления под названием " Учетные записи пользователей и семейство безопасно с диспетчером учетных данных". Я хотел бы получить доступ к учетным данным, хранящимся там (не для получения паролей, а для использования их в качестве токенов для входа в систему). Так что, в принципе, я хотел бы получить удовольствие от уже установленного программного обеспечения.
В этом обсуждении было предложено наиболее близкое решение, и оно не так близко.
Где найти сборку для Windows.Security.Credentials.PasswordVault? Я гуглю два часа, но я получаю информацию только о разработке приложений, пока буду ориентироваться на десктоп.
Есть ли способ разрешить доступ к предварительно сохраненным учетным данным для Win7 и Win8? Я немного боюсь, что хранилище было радикально перестроено в Win8, что делает невозможным нацеливание на обе платформы одновременно.
3 ответа
Как добавить или удалить ссылки с помощью диспетчера ссылок:
В настольных проектах вкладка Core не отображается по умолчанию. Вы можете добавить среду выполнения Windows, открыв контекстное меню для узла проекта, выбрав " Выгрузить проект", добавив следующий фрагмент и повторно открыв проект (на узле проекта выберите " Обновить проект"). Когда вы вызываете диалоговое окно Reference Manager, появляется вкладка Core.
<PropertyGroup> <TargetPlatformVersion>8.0</TargetPlatformVersion> </PropertyGroup>
Обязательно установите флажок Windows на этой вкладке. После этого вы сможете использовать элементы WinRT.
Я столкнулся с той же проблемой и обнаружил, что простого ответа нигде нет.
Вот что я нашел:
- Вам необходимо выгрузить проект и добавить
TargetPlatformVersion
как уже упоминалось выше. - Добавьте ссылку:
C:\Program Files (x86)\Windows Kits\8.1\References\CommonConfiguration\Neutral\Annotated\Windows.winmd
- Также добавьте ссылку:
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();