Как получить доступ к сетевым общим дискам через веб-приложение ASP.NET с#?
У меня есть куча общих путей к дискам, к которым я хочу получить доступ через веб-приложение. У меня есть учетные данные для доступа к этим общим путям диска.
Что я уже пробовал:
Я искал в интернете и пробовал все возможные решения, но мое веб-приложение каждый раз терпело неудачу !
Возможное решение, которое я нашел, состояло в том, чтобы включить олицетворение личности, но в этом случае мое веб-приложение меня подводит. Я попытался получить доступ к нему с помощью UNC API, но это тоже не удалось. Мне сказали, что я могу получить доступ к этим общим дискам как к службе каталогов (не нужно использовать UNC API). Поделитесь своими мыслями, если они у вас есть ! Спасибо!
Kornfeld Eliyahu Peter
Поделитесь своим кодом...
Member 13261744
Я взял отсюда копию UNCAccessWithCredentials
https://www.codeproject.com/Articles/43091/Connect-to-a-UNC-Path-with-Credentials
using (UNCAccessWithCredentials unc = new UNCAccessWithCredentials ()) / / доступ к сетевым дискам через функциональный идентификатор
{
пробовать
{
if (unc. NetUseWithCredentials(sharedrive, functionalID, domainName, functionalPass))
{
string[] files = каталог.GetFiles(sharedrive);
}
}
}
-- Он выдает ошибку 87 внутри метода NetUseWithCredentials()
Примечание - как я уже упоминал, возможно, можно получить доступ к этим общим дискам с помощью службы каталогов
marmikb
С помощью проверки подлинности AD это вполне возможно, или вы можете поделиться этой папкой с пользователями IIS.(Примечание: этот параметр предоставит доступ всем пользователям IIS)
Member 13261744
Для идентификации олицетворение
Я делаю
&ЛТ;удостоверение олицетворение="True" имя пользователя="имя пользователя" пароль="пас"и GT;
и он не может найти мой проект, когда я включаю Identity impersonate
--Дает Система.ИО.Исключения directorynotfoundexception