09. december 2004 - 13:12Der er
13 kommentarer og 1 løsning
Kræve login til asp side også
Hej.
Hvordan får jeg asp.net's autentifikation til også at kræve login for en .asp fil?
Jeg har en mappe som i web.config er defineret som: <location path="admin"> <system.web> <authorization> <allow users="XXXXXX,XXXXX,XXXX" /> <deny users="*" /> </authorization> </system.web> </location>
Altså er der tre brugere der har adgang til den mappe. Men hvis jeg ligger en alm. asp fil derinde - og skriver stien direkte til den - så kræver den ikke login og hopper ikke til login siden?
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Eksempel, på hvordan den kan skrives: <authentication mode="Forms"> <forms name="test" protection="All" timeout="20" loginUrl="login.aspx" /> </authentication>
Oki, men du mangler noget centralt for at få det til at virke, du mangler at lave et FormsIdentity objekt, ellers kan du ikke bruge <authorization> i din web.config til noget... Det kan gøres i global.asax filen i event handleren for: Application_AuthenticateRequest
jmarkling>> tror du er lidt på sidespor her... manden vil have Forms Authentication til at virke på asp, noget som ikke kan lade sig gøre uden meget groft hacking.
Asp.Net og Asp har ikke noget med hinanden at gøre... !!!!!!... endnu flere !!!!!
man kan ikke dele sessions mellem dem... !!! og nej, man kan heller ikke får Asp.Net's Forms Authentication til at køre på asp... ligesom man heller ikke kan få det til at gøre på php, perl, jsp, coldfusion og hvad der ellers findes af forskellige måder at lave dynamiske websider på.
Ups, havde ikke set første linje i hans spørgsmål... Troede bare han ville have det til at virke ASP.NET... Troede slet ikke man havde en web.config i gammeldags asp
Så, lav en lille include fil, du includer i toppen af dine beskyttet sider... her kan du så tjekke på en evt. cookie eller session var. som du sætter under login hvis det er ok, hvis de ikke er sat kan skal du bruge en response.redirect("FailLogin.asp").
ja... det er standardmåden at gøre det på... men det er stadigvæk noget bøvl, da en session i asp.net ikke umiddelbart kan ses i asp... hvilket betyder at man bliver nødt til at logge ind to gange
evt. kunne du lave noget med at gemme dine sessionsvariabler i en DB eller på disken....Ikke nogen smuk måde at gøre det på, men så kan du dele sessionen mellem asp og aspx sider...
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.