2013-07-08 3 views
4

У меня есть приложение C#, которое использует rasapi32.dll для создания коммутируемого соединения. Когда я создаю такое соединение в Windows 7, учетные данные сохраняются в credential manager как запись с именем *session.Отключить диспетчер учетных данных для одного приложения

Эта запись *session в credential manager приводит к тому, что существующие соединения с другими ресурсами (сетевые ресурсы, соединения с базой данных) становятся недействительными. Есть ли способ сказать Windows не хранить учетные данные?

Я уже знаю решение, но это отключает хранение учетных данных для всей системы: Установка значения реестра HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\DisableDomainCreds to 1.

Я хотел бы отключить его только для моего приложения.

ответ

0

Вы можете просто удалить сохраненные учетные данные Используйте CredDelete() из advapi32 http://msdn.microsoft.com/en-us/library/windows/desktop/aa374787(v=vs.85).aspx Существует новая управляемая библиотека в Windows 8, чтобы иметь дело с Windows, хранилище http://msdn.microsoft.com/library/windows/apps/windows.security.credentials.passwordvault.aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-1