windows - ASP.NET 'adgang nægtes' fejl adgang til UNC sti

Indlæg af Hanne Mølgaard Plasc

Problem



Korrektion tilføjet nedenfor: Koden er ikke en del af et IIS 7-program (ingen app pool).


Jeg har en IIS virtuel mappe, der indeholder en aspx side med følgende kode:


System.Net.WebRequest wr = System.Net.WebRequest.Create( @"file://unc-share/directory/file.pdf" );
wr.Credentials = System.Net.CredentialCache.DefaultCredentials;
WebResponse response = wr.GetResponse();


Når GetResponse () påberåbes, får jeg en 'Adgang til stien' \ unc-share \ directory \ file.pdf 'nægtes.' fejl.


Jeg har appen konfigureret til integreret Windows-godkendelse (alle andre godkendelsestyper er deaktiveret), ASP.NET Impersonation er aktiveret.


Jeg har kunnet kontrollere, at ASP.NET efterligning bruger den samme identitet som den Windows domæne konto, jeg bruger til at få adgang til webstedet. Den UNC-del, hvor filen er bosat, som er et separat Windows-system, der ikke er vært for en webserver, oprettes med 'Full Control' -rettigheder for den samme konto.


Jeg har også forsøgt at få adgang til filen ved hjælp af et FileStream-eksempel, med de samme resultater.


Har gravet rundt om dette problem på dette websted og andre, men har ikke fundet nogen forslag, der matcher det jeg forsøger at gøre, og heller ikke som løser problemet.


Nogle ideer?

Bedste reference


Få adgang til stien som denne:


System.IO.File.ReadAllText(@"\uncsharedirectoryfile.pdf");


Den vigtige del af dette uddrag er formatering af stien og fraværet af WebRequest. Der er flere metoder, du kan bruge til at åbne filen. Jeg bruger File.ReadAllText som et eksempel, men du kan lige så nemt åbne filen ved hjælp af en FileStream.


Der bør ikke være brug for at bruge en WebRequest, da filen ikke ligger bag en webserver.