29. april 2002 - 09:58Der er
4 kommentarer og 1 løsning
Sikkerhed omkring .NET
Jeg søger en der kan fortælle lidt om sikkerheden omkring asp.net, specielt i et flerbruger-miljø (hosting).
Hvordan sikrer man at de enkelte websites ikke har adgang til hinandens biblioteker? Som jeg kan se det, skal ASP.NET-brugeren have rettigheder på alle de biblioteker, hvor asp.net skal virke, men dette betyder samtidig at brugerne kan læse fra hinandens mapper...
Er der ikke mulighed for, at oprette selvstændige asp.net-konti's lidt ligesom IUSR_xxx for hvert enkelt website?
Det du leder efter er "Impersonation" som er beskrevet utallige steder på Microsoft hjemmeside. Jeg har dog ikke selv sat det op, da jeg ikke har behov for det, så jeg kan desværre ikke give dig en "walkthrough".
Hvis du vil give kun ét site skriverettigheder til et specielt directory, tror jeg det kan gøres således:
1. Start Microsoft .NET Framework Configuration, som findes under Administrative Tools i kontrolpanelet. 2. Under Runtime Security Policy -> Machine -> Permission sets oprettes et nyt permission set (højreklik mappe-ikonet). Giv det nye set de nødvendige rettigheder. Når der vælges File IO, kommer der en dialogboks op, der beder dig angive hvilket bibliotek der skal gives rettigheder til, og hvor mange (read/write). Her skrives selvf. det bibliotek som mit site ligger under. 3. Under Code Groups, stadig under Machine, oprettes en ny Code Group (højreklik All_Code). Giv den et passende navn. Når der spørges om condition type, vælges der Site, og xxxxxxxxx.dk indskrives i det nederste tekstfelt. Tilsidst spørges der til et permission set. Her vælges det i punkt 2 oprette set. Tryk next, og finish.
Jeg har undersøgt og afprøvet noget mere omkring Impersonation. Det præsenterer gode muligheder for at afskærme besøgende af et website til særlige mapper. Impersonation bliver sat i web.config. Eks :
Alle følgende forespørgsler fra dette website, vil blive udført af brugeren Rasmus, med password MyPass. Denne brugers rettigheder begrænses på normal vis igennem windows.
Men noget andet slog mig: Opfatter du det sådan, at to sites (a og b) - der begge anvender asp.net-brugeren - har adgang til hinandens mapper? Altså, at besøgende til site a har adgang til site b's filer? Det er i hvert fald ikke tilfældet. Brugere fra site a kan kun se mapper under dette site. Ligegyldigt hvad asp.net-brugeren ellers har rettigheder til. Man kan ikke navigere væk fra et sites sti.
Og umiddelbart kan ASPNET og de brugere der har .Net godt se hinandens mappe vedhjælp IO.
Synes godt om
Ny brugerNybegynder
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.