2011-01-27 2 views
0

Я подключаюсь к unc серверу (\ blablub \ share) из моей программы (написанный на C++). Прямо сейчас я использую функцию WNetUseConnection для подключения к серверу. Теперь я хочу ограничить доступ только к программе. Потому что сейчас можно получить доступ к серверу без использования проводника после установления соединения. Но я хочу ограничить доступ (особенно для операций записи файлов) только в программу. Как мне это сделать?ограничить доступ к серверу к программе

+1

Просто не используйте WNetUseConnection, обратитесь к файлам на общем ресурсе по их имени UNC ('\\ blablub \ share \ filename.txt'). Выдача другой учетной записи пользователя также может замедлить пользователя. –

ответ

1

Используйте WNetAddConnection3 и оставьте NETRESOURCE::lpLocalName 0. Это тяжелая работа WNetUseConnection, но не добавляет буквы диска. Поэтому вам все равно придется использовать имена \\Server\Share\File в вашей программе.

Не забудьте указать WNetCancelConnection2, когда ваша программа выйдет. Конечно, пока ваша программа работает, соединение существует. Это намеренно. Безопасность работает на уровне пользователя, а не на уровне программы. Если вы действительно, действительно не хотите этого, вам придется выдавать себя за учетную запись пользователя, которую вы используете в WNetAddConnection3.

+0

ОК, спасибо, я вижу. –

Смежные вопросы