Avatar billede nil.dk Nybegynder
18. april 2001 - 09:02 Der er 7 kommentarer og
2 løsninger

Check for login ved link

Jeg søger en idé til at udføre følgende løsning.

Jeg har et site hvor en del af sitet er passwordbeskyttet. På én af de \"åbne\" sider er der et link til et fil man kan downloade. Men det er kun folk der er logget ind der må downloade filen.. altså skal der når der klikkes på linket tjekkes for om man er logget ind.. hvis ja... downloader man filen.. hvis nej redirigeres man til login-siden.
Avatar billede kasseper Nybegynder
18. april 2001 - 09:09 #1
Kan du ikke bare lave linket til en .asp side, der ser måske nogenlunde sådan her ud :

<%
if session(\"password\") <> \"\" then
response.redirect \"myDownloadableZipFile.zip\"
else
response.redirect \"login.asp\"
end if
%>
Avatar billede nil.dk Nybegynder
18. april 2001 - 09:11 #2
Kasseper >>

Det havde jeg selv overvejet, men jeg vil helst have en løsning uden en ekstra asp-side.

Men hvis jeg ikke finder den løsning, bruger jeg din. Tak.
Avatar billede limemedia Nybegynder
18. april 2001 - 09:12 #3
Nu er jeg jo \"blot\" en PHP udvikler der ikke aner end kæft om ASP - men du har i tidernes løb spammet så mange af mine spørgsmål så hvorfor ikke...

Hvad jeg ville gøre var at lave en ASP fil (PHP selvfølgelig *gg*) og \"printe\" den ud til browseren med følgene headere sat.

    header(\"Content-Disposition: filename=$FileName;\");
    header(\"Content-Type: $ContentType\");
    header(\"Content-Length: $FileSize\");
    header(\"Pragma: no-cache\");
    header(\"Expires: 0\");

    print $content;
    flush();

Dette bevirker at browseren starter en fildownload af det content du kommer i STDOUT. Jeg er 110% sikker på at du har denne metode tilgængelig i ASP også.

Du skal dog være opmærksom på at $ContentType skal være sat til application/octetstream medmindre du prøver at sende en PDF fil til en MSIE bruger (har haft problemer med at den ikke kan finde ud af det og smadrer PDF filen, så du skal i det tilfælde lave en application/pdf.

I din ASP kode inkluderer du dit check for login og redirecter brugeren hvis han/hun ikke har tilstrækkelige rettigheder til at downloade den pågældende fil.

Håber det giver mening


/ Lars
www.ljweb.dk
Avatar billede nil.dk Nybegynder
18. april 2001 - 09:22 #4
ljweb >>

Det ærgrer mig noget at blive kendt som ham der accepterede et PHP-svar i ASP-kategorien *GGG*

ljwebs forslag er noget mere avanceret/sikkert og jeg tror jeg vil forsøge at omdanne det til ASP.

Tak gutter.
Avatar billede kasseper Nybegynder
18. april 2001 - 09:24 #5
go fornøjelse, jeg tror det bliver lidt svært.....
kan du ikke poste det du kommer frem til her ?

Kasper
Avatar billede limemedia Nybegynder
18. april 2001 - 09:24 #6
nil >> *ggg* vores sprog er forskellige men arbejder mod fælles mål... når alt kommer til alt er forskellene ikke så store... Logikken bagved er det svære...
Avatar billede nil.dk Nybegynder
18. april 2001 - 09:28 #7
kasseper >> Jo. Skal jeg nok.

Hvordan sørger jeg for at brugeren ikke står med en tom hvis side når programmet er downloaded?

ljweb >> Du har helt ret. Der er syntax/funktionsforskelle.. men tankegangen bag er den samme.

begge >> Jeg skal bruge løsningen her og nu.. så jeg starter med at lave en version af kassepers løsning og researcher så lidt på at omdanne ljwebs til ASP.
Avatar billede kasseper Nybegynder
18. april 2001 - 09:33 #8
problemet er vel at du ikke kan, sende informationer direkte til klienten i ASP, som man kan i PHP, men det bliver din hovedpine...:)
Avatar billede nil.dk Nybegynder
18. april 2001 - 09:33 #9
hmmm
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
Kurser inden for grundlæggende programmering

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