Avatar billede ihtezaz Praktikant
28. juni 2005 - 10:59 Der er 17 kommentarer og
2 løsninger

Tilgå et netværks drev

Hej

Jeg vil tilgå et netværks drev fra min asp.net applikation, hvis jeg ikke bruger impersonation får jeg fejlen : "Logon failure: unknown user name or bad password.\r\n" .

Derimod når jeg gør brug af impersonation, får jeg denne fejl:
"Could not find file \"\\\\servernavn\\brugerdata\\test.txt\"."


Serveren hedder : "Servernavn\brugerdata"

Filen jeg ønsker tilgå hedder: "test.txt"

Hvad gøre jeg forkert.

På forhånd tak.
Avatar billede thomashove Nybegynder
28. juni 2005 - 11:10 #1
Først skal du sikre dig hvilke rettigheder der kræves for at tilgå serveren/filen.
Hvis du har rettigheder (enten som anonym eller din windows konto) - bliver vi nok nødt til at se den kode du benytter.

Hvis du impersonater - så husk at slå anonymous login fra i IIS.
Den sti du angiver - har du prøvet med blot "\\servernavn\brugerdata\test.txt"
Avatar billede thomashove Nybegynder
28. juni 2005 - 11:25 #2
dette virker hos mig (med imporsonate)

Dim sFilename As String = ("//profilen/common/Udvikling/test/test.txt")
        Dim msg As String
        msg &= Now() & vbCrLf
        msg &= "test test"

        Dim sw As New IO.StreamWriter(sFilename, True)
        sw.WriteLine(msg)
        sw.Flush()
        sw.Close()


i Web.config
<authentication mode="Windows" />
<identity impersonate="true" />

i opsætning for IIS 
vælg dit web-projekt
vælg egenskaber
Vælg mappesikkerhed
Rediger styring af anonym adgang og godkendelse
Fjern anonym adgang fluebenet
Avatar billede ihtezaz Praktikant
28. juni 2005 - 12:14 #3
Hej, jeg bruger også \\servernavn\brugerdata\test.txt

men i fejl beskeden står : "Could not find file "\\\\servernavn\\brugerdata\\test.txt\"."

Sådan ser koden ud :

string path = @"\\Dwbhome\Brugerdata\test.txt"; //("Z$:/test.txt");// "z$/test.txt";//"Z:/TestDownload/webmaster_fynsamt.bak";//"C:/webmasterWebservicesPlacering.txt";           
       

            System.IO.Stream iStream = null;
            //Buffer to read 10kb as a chunk
            byte[] buffer = new Byte[10000];
            //legth of the file
            int length;
            //Total bytes to read
            long dataToRead;
            //Now the filename
            //string fileName = theFile.Name;
            string filename = System.IO.Path.GetFileName(path);

           

            try   
            {
                //Open the file
                iStream = new FileStream(path,FileMode.Open,FileAccess.ReadWrite,FileShare.ReadWrite);
                //Bytes to read
                dataToRead = iStream.Length;

                //Headers now
                Response.ContentType = "application/octet-stream";
                Response.AddHeader("Content-Disposition","attachment;filename="+filename);
               
                while(dataToRead >0)
                {
                    //IS client still connected
                    if(Response.IsClientConnected)
                    {
                        //Read the data in the buffer
                        length = iStream.Read(buffer,0,10000);
                        //Write data to current output stream
                        Response.OutputStream.Write(buffer,0,length);
                       
                       
                        //Flush data to html output
                        Response.Flush();
                        //redefine buffer and dataToRead values
                        buffer = new Byte[10000];
                        dataToRead = dataToRead - length;

                    }
                    else
                    {
                        //If the user disconnected it, prevent infinite loop
                        dataToRead = -1;
                    }
Avatar billede ihtezaz Praktikant
28. juni 2005 - 12:15 #4
Path er : string path = @"\\Dwbhome\Brugerdata\test.txt";

Det efter path'en er udkommenteret.
Avatar billede dsj Nybegynder
28. juni 2005 - 12:49 #5
Stien \\\\servernavn\\brugerdata\\test.txt bør virke, hvis du har givet din ASPNET-bruger (som IIS kører under) adgang til det givne netværksdrev.
Avatar billede ihtezaz Praktikant
28. juni 2005 - 13:58 #6
\\\\servernavn\\brugerdata\\test.txt virker ikke, den kan ikke finde path
Avatar billede ihtezaz Praktikant
28. juni 2005 - 14:01 #7
Sorry fejlen er : "Could not find file \"\\\\Dwbhome\\Brugerdata\\test.txt\"."
Avatar billede dsj Nybegynder
28. juni 2005 - 14:27 #8
Hvis ikke ASPNET-brugeren har adgang til og rettigheder til at læse på netværksdrevet, kan den heller ikke finde filen. Selvom du får meddelelsen "Could not finde file..." bør du alligevel kontrollere ASPNET-brugerens adgang og rettigheder - der kan godt ligge et andet problem under, end fejlmeddelelserne lige giver udtryk for.
Avatar billede ihtezaz Praktikant
28. juni 2005 - 14:33 #9
Ok, men jeg har givet aspnet brugeren både læse og skriv rettigheder til filen, men det giver stadig samme fejl.
Avatar billede thomashove Nybegynder
28. juni 2005 - 15:14 #10
kan du tilgå en lokal fil med din kode?
Avatar billede ihtezaz Praktikant
28. juni 2005 - 15:33 #11
jep det kan jeg nemlig godt
Avatar billede thomashove Nybegynder
28. juni 2005 - 15:41 #12
prøv at give kontoen "Alle" fuld kontrol over filen - hvis det heller ikke virker angiver du ikke din path korrekt. Hvis det virker, er det noget rettighedsproblematik...
Avatar billede dsj Nybegynder
28. juni 2005 - 17:02 #13
At angive stien i formatet \\\\<servernavn>\\<sti>\\<fil> virker pt. fint for mig, så det kan der ikke være noget galt med - problemet må ligge et andet sted...
Avatar billede ihtezaz Praktikant
29. juni 2005 - 09:21 #14
kan det hav noget at sige at min servernavn er: "servernavn/brugerdata" for den kan antag at brugerdata er directory og ikke navnet på serveren.
Avatar billede thomashove Nybegynder
29. juni 2005 - 09:30 #15
troede egentlig ikke at man måtte bruge "/" i et servernavn !!!

prøv evt. at lave en mapning til din fil. dvs. at f.eks.

T:\ peger på \\Dwbhome\Brugerdata\

og herefter prøv at tilgå T:\test.txt med din kode

kan du det?
Avatar billede ihtezaz Praktikant
29. juni 2005 - 09:57 #16
sorry, tidligt på morgene, jeg mente Dwbhome\Brugerdata. Mapning gennem koden ?? Det må du gerne giv et eksempel på.
Avatar billede thomashove Nybegynder
29. juni 2005 - 10:04 #17
ikke gennem koden - lav mapningen i din stifinder på den server hvor asp.net kører

Det er blot for at konstatere om navnet "Dwbhome\Brugerdata" er et problem
Avatar billede ihtezaz Praktikant
29. juni 2005 - 10:07 #18
Det få jeg ikke lov til desværre, men jeg prøver at tilgå et andet netværks drev uden backslash
Avatar billede ihtezaz Praktikant
29. juni 2005 - 10:31 #19
Tak for ideen, det var navnet, jeg kan sagtens hente og skriv til det andet netværksdrev. Thomashove får 100 points og dsj 80.

Tak begge to.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester