2009-10-21 4 views
1

, если у меня есть этот код, это создает проблемы, если другой пользователь, который не имеет доступа к сетевому ресурсу, пытается запустить этот метод. Как я могу заставить этот метод записать файл на текущий рабочий стол?Запишите файл на рабочий стол текущего пользователя в C# asp.net

 private void skriveTilFil() 
     { 
      StreamWriter writer = new StreamWriter(@"\\192.168.1.2\tmp\script.vbs"); 
      writer.WriteLine(scripttbx.Text); 

      writer.Dispose(); 
     } 
+0

Рубенс прав, вы не можете сделать это в стандартном веб-приложении. –

ответ

0

Вы можете сделать это в среде интрасети путем изменения разрешений/политик. Вы должны предоставить соответствующие разрешения для своего приложения ASP.NET через IIS/Active Directory для общих ресурсов.

+0

Это открывает большую дыру в безопасности - любой, кому удается управлять вашим сервером (я знаю, что знаю, что НИКОГДА не произойдет), может затем записываться на любые компьютеры, на которые вы предоставили разрешения на запись в ASP.NET. –

+0

Я говорю об управляемой корпоративной среде интранета, есть много способов сделать это без дыры в безопасности. –

+0

спасибо за информацию, я буду смотреть на это. – Darkmage

3

В средах клиент/сервер, вы не сможете записывать данные непосредственно на клиентских компьютерах.

Можете ли вы загрузить некоторые данные в свой браузер и/или запустить ActiveXObject, установленный на рабочей станции клиента? Это может привести к некоторым проблемам с установкой компонентов на компьютерах пользователей, но будет более легко развиваться.

0

Безопасность браузера предотвращает это без использования элемента управления, такого как ActiveX.

Любая конкретная причина, по которой вы не просто предоставляете ссылку для скачивания?

+0

Да, сценарий генерируется из значений, основанных на содержимом из 10 текстовых полей, поэтому он еще не загружается при нажатии кнопки, думаю, что мне нужно переосмыслить эту тему и скомпрометировать ее. – Darkmage

+0

Отправить форму, если кнопка нажата. Попросите страницу действий для формы сгенерировать файл на основе ввода формы и верните сгенерированный файл вместо другой веб-страницы. Вы можете сделать это полностью в памяти, не создавая ничего на диске на сервере. Обычно используется аналогичная методика для извлечения двоичных файлов (изображений и т. Д.) Из базы данных. –