Ссылка на сетевую папку в ASP.NET

У нас есть проблема, позволяющая пользователям в одной сети делиться ссылками на общие сетевые папки. Используя ASP.NET, сгенерированный код выглядит следующим образом: <asp:HyperLink ID="HyperLink1" runat="server" NavigateURL="file://///server/network_folder/" />

К сожалению, это не дает желаемого эффекта, который мы хотели; при нажатии он ничего не сделает, будь то IE8, Firefox (15.0.1) или Chrome (21.0.1180.89 m).

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

Чтобы избавить вас от необходимости обходить и устанавливать разрешение для каждого клиентского браузера вручную, можно ли разрешить временные разрешения в файле с выделенным кодом (C#)?

Любые другие предложения приветствуются.

2 ответа

Кажется, есть проблемы с безопасностью и реализацией: HTML-ссылки на локальные сетевые ресурсы

Однако вы можете создать простой файл обработчика запросов asp .net (ashx), который может обращаться к рассматриваемому файлу, устанавливать тип mime и возвращать файл в потоке ответов. Это будет означать, что файл должен быть отправлен на ваш веб-сервер, а затем снова передан по http, но это вариант.

Предполагая, что целевой папкой является простой сетевой ресурс Windows (вместо, например, общего ресурса WebDAV, только Internet Explorer сможет получить к нему доступ с помощью учетных данных Windows, с которыми он может договориться. Chrome, FireFox и др. Не выполняют автоматическое согласовать протокол проверки подлинности Windows, чтобы предоставить удостоверение, необходимое для авторизации доступа к любым спискам ACL, существующим в целевой папке.

Что касается того, почему ссылка не работает даже в IE, вы уверены, что ссылка во время выполнения на самом деле соответствует ожиданиям? Если ссылка не может быть разрешена, вы должны, по крайней мере, получить всплывающее сообщение об ошибке, в котором говорится, что файл или ссылка не найдены, что-то в этом роде. Получение ответа вообще немного любопытно.

Другие вопросы по тегам