Копировать файл с повышенными привилегиями - PullRequest
3 голосов
/ 26 января 2010

Есть ли способ повысить привилегии до уровня, необходимого для записи файлов в сетевую папку с помощью нашего приложения Delphi 2006 (Win32)?

Пользователь, запустивший приложение, не имеет разрешения на запись (или просмотр) файлов в рассматриваемой сетевой папке.

Любые рекомендуемые методы или альтернативные предложения?

Ответы [ 2 ]

5 голосов
/ 26 января 2010

Вы можете предложить пользователю ввести учетные данные для пользователя с повышенными правами доступа, а затем временно работать под именем этого другого пользователя при записи в сетевой ресурс. Для этого вам нужны функции LogonUser и ImpersonateLoggedOnUser. Пожалуйста, смотрите этот ответ .

1 голос
/ 26 января 2010

Используйте WNetAddConnection2 для подключения к пути UNC, вам нужно будет использовать параметры lpUsername и lpPassword (либо спросить их у пользователя, либо спрятать их где-нибудь в вашем приложении).

Вы можете выбрать, хотите ли вы отобразить букву локального драйвера в UNC-путь или нет (в этом случае используйте nil для параметра lpLocalname). После этого вы можете получить доступ к UNC-пути без указания учетных данных.

...