c # winforms: получение и использование учетных данных для доступа к папке в другом домене - PullRequest
0 голосов
/ 26 марта 2012

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

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

В идеале я хотел бы открыть диалоговое окно с учетными данными, аналогичное тому, что в настоящее время делает Windows, запрашивая идентификатор пользователя, пароль и домен. Я не уверен, как это сделать и что делать со значениями, которые пользователь предоставит для доступа к файлам папки.

Пример был бы очень хорош.

спасибо c # user

Ответы [ 2 ]

0 голосов
/ 26 марта 2012

Подробные сведения можно запросить с помощью функции CredUIPromptForWindowsCredentials .

Если вы подключаетесь к общей папке, вам не нужно выдавать себя за пользователя;Вы можете просто передать другие учетные данные в функцию WNetAddConnection3 .

Чтобы вызвать ее из C #, вам потребуется P / Invoke .

0 голосов
/ 26 марта 2012

Вы можете использовать advapi32.dll методы для олицетворения конкретного пользователя в вашем коде. Взгляните на эту статью.

...