Я пишу приложение для Windows, используя С#. У меня есть требование, чтобы файлы, загруженные в форму Windows, сохранялись в сетевом ресурсе, но не все пользователи могут получить доступ к сетевому ресурсу (\\FileServer\SharedFolder). Только один пользователь ( FileWriter) имеет права на чтение/запись/выполнение в этой папке. Текущий пользователь EmployeeUser не имеет разрешений на этот общий ресурс. Я проверил это, открыв Пуск->Выполнить \\FileServer\SharedFolder. Это дает окно ошибки «Отказано в доступе».
Я использовал этот пример из Опубликуйте SO, используя WNetAddConnection2
для подключения с другими учетными данными FileWriter, чтобы сохранить файл Sample.txt с помощью File.Create. До сих пор все было в порядке. WNetCancelConnection2
вызывается, я проверил в отладке кода, и программа вышла. Теперь от текущего пользователя я открыл StartMenu --> Run и набрал \\FileServer\SharedFolder, и общий ресурс сразу же открылся, хотя пользователь Windows СотрудникПользователь. Я закрыл проводник и через несколько минут (это значение меняется случайным образом при попытках) я открыл Пуск->Выполнить \\FileServer\SharedFolder. Теперь выдает ошибку "Отказано в доступе".
Я не могу этого понять. Мы очень ценим любую помощь в этом.
Теперь, после появления окна «Отказано в доступе», я снова запускаю программу с теми же шагами, за исключением того, что Sample.txt (используя File.Create) автоматически перезаписывается. Разве он не должен выдавать ошибку «Файл существует»?
WNetCancelConnection2
, Просто для образовательных целей, если не для чего-либо еще, который вернул 0, но позволил EmployeeUser просматривать \\FileServer\SharedFolder, как указано в моем исходном сообщении. 20.11.2015WNetCancelConnection2
, никогда не пользовался. простите 20.11.2015