Jeg har denne session på mine sider (<% if Session("BlnAdministrator")=false then response.redirect "minside.asp" response.end end if %>) der forhindrer adgang til siderne medmindre man er logget på. Der er herefter 2 forskellige passwords der har adgang til alle siderne, men nogle af siderne skal være lukket for den ene bruger og omvendt, hvordan skal den session se ud? mvh. Marie
Støv, fibre og metalliske partikler kan påvirke både uptime, levetid og driftssikkerhed. Derfor arbejder flere datacentre systematisk med contamination control.
Du skal have gemt en session til, når du logger ind. Nu kan jeg ikke helt huske din kode, men den session skal være forskellig for hver bruger.
if (bruger1) then session("BlnAdministrator") = true session("BrugerID") = 1 elseif (bruger1) then session("BlnAdministrator") = true session("BrugerID") = 2 else 'Forkert password/bruger respnse.redirect("minside.asp") end if
Tjekket på siderne skal så have et ekstra sessiontjek. Her er det kun bruger 2 der har adgang: <% if Session("BlnAdministrator")=false then response.redirect "minside.asp" response.end end if 'Kun Bruger2 skal have adgang til denne side if Session("BrugerID")<>2 then response.redirect "minside.asp" response.end end if %>
Nu havde du jo godt nok nogle problemer med session, men det håber jeg ikke gentager sig.
Hej igen fennec Jeg gav dig noget af grunden til hvorfor det ikke fungerede i det sidste spørgsmål. Der lå b.l.a. en gammel session på den side brugeren skulle ind.
Jeg får det til, at det skulle se sådan ud, men det virker ikke: <% if Session("BlnAdministrator")=false then response.redirect minside.asp" response.end end if if Session("Password")<>sPassword2 then response.redirect minside.asp" response.end end if %>
Så bliver passwordet altså gemt i session("Password"). Vi bliver simpelthen nød til at få din loginkode til at virke. Det skal altså være sådan (tilføjet session("UserNR") = xx):
If txtUsername = sUsername AND txtPassword = sPassword Then Session("username") = True Session("UserNR") = 1 Session("A") = True Response.Redirect "Page2.asp" 'set page you want to direct to on successful login ElseIf txtUsername2 = sUsername2 AND txtPassword2 = sPassword2 Then Session("username") = True Session("UserNR") = 2 Session("A") = True Response.Redirect "Page1.asp" 'set page you want to direct to on successful login Else ... end if
Kan du så ikke lige smide hele koden fra page2.asp herind.
Problemet er at vi skal have den til at huske de andre sessions også (username, UserNR, A), og det lader til at den ikke vil det. Jeg tror derfor at der er noget kode på page2.asp, som forhindre dette. Men vi kan jo prøve dette først:
Hvis du har tilføjet de to Session("UserNR") = xx, skal du kunne udskrive dem på alle andre sider. I stedet for at udskrive Session("Password"), som vi gjorde lige før, så prøv at udskrive "UserNR":
Kanon. Så kan du bruge denne tjek kode (her er det kun bruger 2 der har adgang):
if Session("BlnAdministrator")=false then response.redirect "minside.asp" response.end end if 'Kun Bruger2 skal have adgang til denne side if Session("UserNr") <> 2 then response.redirect "minside.asp" response.end end if
Nu er du logget ind som bruger 1, hvilket betyder at du ikke har tilladelse til den side. Jeg har ændret tjekket lidt, så behøver vi ikke tjekke på "BlnAdministrator". Du skal bare vælge den der skal bruges på den specifikke side:
'Begge (alle der er logget ind) skal have adgang. if Session("UserNr") <> "" then response.redirect "minside.asp" response.end end if
'Kun Bruger 1 skal have adgang. if Session("UserNr") <> 1 then response.redirect "minside.asp" response.end end if
'Kun Bruger 2 skal have adgang. if Session("UserNr") <> 2 then response.redirect "minside.asp" response.end end if
Da jeg lige nu er total skaldet (jeg har revet al håret af i fortvivlelse :-) ) Har jeg brugt denne der til gengæld ikke giver så meget sikkerhed fordi passwordet står på den enkelte side Jeg har disse tre linjer: Session("Det rigtige password") = True Session("Det rigtige password2") = True Session("BlnAdministrator") = True
På siden skriver jeg så enten:
<% If Session("Det rigtige password")<>True Then Response.Redirect minside.asp" %> Eller <% If Session("Det rigtige password2")<>True Then Response.Redirect minside.asp" %>
Eller hvis begge har adgang: <% If Session("BlnAdministrator")<>True Then Response.Redirect minside.asp" %>
:-) Jeg har testet det en del igennem og det virker stadig.. Tror du der er noget jeg på en simpel måde kan sætte i stedet for Det rigtige password (Det er i øvrigt brugernavnet) uden, at ændre for miget i resten af indholdet?
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.