2010-09-13 3 views
0

У меня есть обычная программа, которая пытается импортировать файлы из каталога импорта, выплевывая их в каталог ошибок, если импорт завершается с ошибкой. Каталог Error является общим, и у пользователей есть разрешения на доступ к удалению файлов, поэтому они могут попытаться устранить проблемы, а затем снова переместить файлы в каталог импорта. Я использую File.Move, чтобы переместить файлы в каталог Error, и это отлично работает, кроме разрешений - похоже, оно возвращается к набору разрешений по умолчанию, а не к каталогу, и поэтому пользователи не могут удалить files - как я могу сбросить разрешения на файл к файлам из их содержащей директории? Я пробовал выкрикивать с помощью SetAccessControl и SetAccessRuleProtection, но мне кажется, что вам не повезло?Сброс прав доступа к файлу в ASP.NET

Приветствия

MH

ответ

1

Этот Asp.Net Forum link также обсуждает тот же вопрос, и, кажется, что вы должны иметь права администратора. И, как было предложено на форуме, это не похоже на хорошую идею. Если возможно, не удаляйте файлы через Asp.Net. Возможно, вы можете создать службу Windows, которая может обращаться к файлам и удалять все, что подходит. Просто намек. Предоставление слишком большой мощности Asp.Net требует неприятностей.

+0

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

+0

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

+0

Итак, какой подход вы приняли для его решения? –

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