Avatar billede _basil Nybegynder
09. november 2003 - 22:45 Der er 5 kommentarer og
1 løsning

Webservice der ændrer i fil

Jeg har lavet en klasse der skriver noget data til en fil.. Nu har jeg lavet en webservice der bruger denne klasse, men når jeg kalder metoden fra webservicen der skal ændre filen får jeg denne:

System.UnauthorizedAccessException: Access to the path "c:\outfile.dat" is denied.
  at System.IO.__Error.WinIOError(Int32 errorCode, String str)
  at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean useAsync, String msgPath, Boolean bFromProxy)
  at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
  at System.IO.File.Open(String path, FileMode mode, FileAccess access)
  at Model.Beholdning.Serialize()
  at Model.Beholdning.gemFil()
  at Model.Beholdning.sletIngrediens(Ingrediens ig)
  at Model.Beholdning.sletIngrediens(String plut)
  at Model.dataHandler.sletIngrediens(String str)
  at WebService1.Service1.sletIngrediens(String str)


Det må jo være sikkerheden der er for stram så jeg har  gjort følgende i Beholdning.Serialize():

FileIOPermission f2 = new FileIOPermission(FileIOPermissionAccess.AllAccess , "C:\\outfile.dat");
            Stream stream = File.Open("c:\\outfile.dat", FileMode.OpenOrCreate, FileAccess.ReadWrite );

nogen ideer??
Avatar billede odegaard Nybegynder
09. november 2003 - 22:52 #1
Du skal give ASP_NET brugeren adgang til at skrive til filen.
Avatar billede _basil Nybegynder
09. november 2003 - 22:56 #2
Det var jeg også kommet frem til.. Bruger windows XP og troede bare jeg skulle højreklikke på filen og så vælge noget security.. Men nej..? Kan det gøres med kode og hvordan gør man i winxp?
Avatar billede odegaard Nybegynder
09. november 2003 - 23:00 #3
ja det er netop det du skal gøre. Præcis som var det Win2000
Avatar billede _basil Nybegynder
10. november 2003 - 10:20 #4
SÅ fik jeg til at virke men kan man ikke gøre det med kode?
Avatar billede odegaard Nybegynder
10. november 2003 - 15:52 #5
Søg efter 'Impersonation' i din SDK og på Google.
Derigennem kan man få adgang til at blive opfattet som en anden bruger, og dermed udnytte den brugers rettigheder.

Bemærk at der altså er en grund til at man ikke sådan bare lige har admin rettigheder. Der er for mange sites derude, som kan give en hacker fuld rettighed til en maskine ved at udnytte små dumme fejl i ens hjemmeside. Laver man sådan en dum fejl i ASP.NET, så kan hackeren kun få adgang til det som ASP_NET brugeren har adgang til.
Avatar billede _basil Nybegynder
11. november 2003 - 09:12 #6
Det er fornemt.. mange tak for hjælpen
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

IT-JOB

Netcompany A/S

Network Engineer

Politiets Efterretningstjeneste

Bliv IT-supporter i PET's IT Servicedesk

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Teknisk systemansvarlig / ingeniør inden for taktisk datalink

Politiets Efterretningstjeneste

AI/ML udvikler i PET