Kör du IIS7 så kan du skydda även bilder.
Personligen kör jag med en Image.aspx som streamar bilden.
4 svar · 480 visningar · startad av haagel
Jag har gjort en liten webbapplikation där besökare måste logga in för att komma åt vissa sidor. Detta är gjort på enklaste sätt med det inbyggda "FormsAuthentication". De sidor som kräver login är placerade i en egen mapp som är skyddad. Dessa sidorna innehåller bilder som jag också vill ska skyddas. Alltså, även om besökaren känner till den fullständiga url:en till en bild så ska den inte kunna nås ifall inte användaren loggar in. Dessa bilder ligger i en undermapp till den mapp som redan skyddas.
Vid tester upptäckte jag till min glädje att även bilderna skyddades automatiskt. Om jag försöker skriva in url:en till en bild i min webbläsare så skickas jag ändå automatiskt till inloggningssidan om jag inte är inloggad. Precis som jag vill ha det.
MEN...
När jag lägger upp samma kod på mitt webbhotell så fungerar det inte längre. Sidorna skyddas som förrut, men inte bilderna.
Jag har en känsla av att det här har att göra med nån inställning i webbservern. Kanske att bilderna levereras direkt av webbservern utan att gå via ASP.NET? Kan jag i sådana fall ändra på det i nån web.config? Jag har inte möjlighet att göra några ändringar direkt i webbservern.
Eller så är felet nått helt annat...
Nån som har en lösning? :)
Kör du IIS7 så kan du skydda även bilder.
Personligen kör jag med en Image.aspx som streamar bilden.
Kör du IIS7 så kan du skydda även bilder.
Som sagt, jag har ingen möjlighet att meka med webbservern.
Personligen kör jag med en Image.aspx som streamar bilden.
Jag har funderat i liknande banor, men att köra med en HTTPHandler istället. Är det ett lämpligt sätt eller finns det ett bättre/lättare sätt?
Kör du IIS7 så meckar du i web.config bara, så det var därför jag frågade.
En HTTPHandler skulle vara snyggare (tycker jag) men jag hade inte den kompetensen när min sajt byggdes, och det fungerar precis lika bra på mitt sätt.
Det viktiga är att se till att du inte har publik access till mappen där bilderna ligger. Detta kan du inte styra i web.config (om du inte kör IIS7), utan måste göra på servern. Många webbhotell (antar att du har hotell eftersom du inte kan mecka) har mappar utanför wwwroot där du kan lägga liknande saker.
Brukar finnas en mapp som heter DATA eller likande.