Доступ к общей папке в локальной сети с использованием учетных данных - PullRequest
0 голосов
/ 18 мая 2018

Подобных вопросов было много, но я не мог найти ответ, который помог бы мне с моей конкретной проблемой.Я пишу приложение, которое должно получать файлы и вносить изменения в общую папку (локальная сеть), но я не хочу запрашивать у пользователя его учетные данные.

Если пользователь уже получил доступ к общей папкес его учетными данными, возможно ли будет использовать возможность 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);
                }
            }
...