Попробуйте WebClient. Вы можете использовать это для доступа к URI, и я полагаю, что это включает использование протокола 'file' (или вы можете опубликовать удаленный файл через HTTP).
Вы можете использовать WebClient для традиционной загрузки:
WebClient.DownloadFile(Uri address, string localFile)
Или вернуть поток:
WebClient.OpenRead(Uri address)
Однако ваши проблемы с аутентификацией могут остаться. Вы можете предоставить учетные данные стандартным способом Uri, хотя это может быть невозможно при использовании протокола «file».
Я никогда не пробовал, но я думаю, что вы можете указать олицетворение в web.config
<authentication mode="Windows" />
<identity impersonate="true" username="[user]" password="[password]"/>
Хотя это звучит как угроза безопасности, приложение по умолчанию принимает учетные данные пользователя сети, а не пользователя по умолчанию.
Более подробно здесь: Как: использовать олицетворение и делегирование в ASP.NET 2.0