Подобных вопросов было много, но я не мог найти ответ, который помог бы мне с моей конкретной проблемой.Я пишу приложение, которое должно получать файлы и вносить изменения в общую папку (локальная сеть), но я не хочу запрашивать у пользователя его учетные данные.
Если пользователь уже получил доступ к общей папкес его учетными данными, возможно ли будет использовать возможность Windows запоминать эти учетные данные до перезапуска?Можно ли «получить» / использовать эти учетные данные или «профиль» через c # для доступа к общему расположению?
Я разрабатывал свое приложение, чтобы запросить у пользователя учетные данные, а затем выдать себя за другого, но я бы действительнохотел бы избежать этого:
token = IntPtr.Zero;
var success = LogonUser(machine_username, remote_machine, machine_password, 9, 0, ref token);
using (WindowsImpersonationContext person = new WindowsIdentity(token).Impersonate())
{
try
{
// do something on the network location
}
catch (IOException)
{
Console.WriteLine("Connection with the server failed!");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
person.Undo();
CloseHandle(token);
}
}