Как сохранить сетевые учетные данные в кеше / хранилище учетных данных Windows?
Я оцениваю сторонний API WebDAV.NET для получения доступа к веб-папкам SharePoint. Этот API принимает стандартные сетевые учетные данные.Net и дает мне два варианта:
ICredentials credential = CredentialCache.DefaultCredentials;
а также
NetworkCredential credential = new NetworkCredential("[user]", "[password]");
Если я подключаюсь к сетевой папке (веб-папке) через проводник Windows и требуется проверка подлинности, Windows автоматически запросит у меня имя пользователя и пароль. Затем я могу вспомнить учетные данные, и Windows сохранит их. Сделав это, я могу использовать первый метод выше CredentialCache.DefaultCredentials
подключиться к веб-папке SharePoint с помощью этого стороннего API.
Однако, если я сначала не подключился через Windows Explorer, я мог бы использовать второй вариант и указать имя пользователя и пароль. Однако эти учетные данные не сохраняются и не запоминаются.
Я не хочу создавать свой собственный механизм для защиты и хранения этих учетных данных. Я хотел бы попросить пользователя ввести его имя пользователя и пароль, создать сетевые учетные данные и сохранить их в хранилище Windows, чтобы я мог потом развернуться и использовать первый метод. CredentialCache.DefaultCredentials
при подключении к веб-папке SharePoint.
Я бы хотел выполнить то, что делает Windows Explorer, запросить имя пользователя и пароль, а затем запомнить их.