Avatar billede okkels Nybegynder
18. juli 2003 - 16:31 Der er 12 kommentarer og
1 løsning

Password System - Multiple Users - Helst ikke DB

Hej,
Jeg leder efter kode til et password-system, der skal kunne anvendes af flere brugere. Umiddelbart burde det være let at finde, men jeg har brugt flere timer på at lede efter det rette system, men uden held.

Jeg har ikke adgang til Access, så hvis der skal bruges database skal det være MySQL.

Det optimale ville være at brugeren selv kan ændre password, men det er ikke noget must.

Der skal naturligvis også være en stump kode, der gør, at de beskyttede sider ikke kan ses hvis man ikke er logget ind i systemet.

Henvisning til et færdiglavet script jeg kan bruge, giver også udbetaling af point.

Med venlig hilsen,
Kristoffer Okkels
Avatar billede noden Nybegynder
18. juli 2003 - 17:16 #1
Jeg vil anbefale dig at skimme noget om sessions, det er lækkert til dit formål!
Du kan godt benytte en flad txt fil!
Jeg har desværre ikke noget liggende i ASP!
Avatar billede firehat Nybegynder
19. juli 2003 - 00:11 #2
Skal man kunne oprette bruger på siden ?
Avatar billede okkels Nybegynder
19. juli 2003 - 01:54 #3
Til noden: Det er hermed taget til efterretning. Hvis der ikke dukker det helt rigtige svar op, kan det være jeg sætter mig ind i sessions.

Til firehat: Til det formål jeg har i tankerne nu, er det ikke nødvendigt at man skal kunne oprette brugere på siden. Det er nok hvis jeg som webmaster kan oprette og ændre ID og password i en fil.
Avatar billede firehat Nybegynder
19. juli 2003 - 02:21 #4
Okay, prøver at bikse noget sammen
Avatar billede firehat Nybegynder
19. juli 2003 - 02:42 #5
http://www.firehat.dk/exp/377517/login.asp

Var det det du tænkte på?
( Brugernavn: bruger1 Password pass1 )
Avatar billede okkels Nybegynder
19. juli 2003 - 10:34 #6
Det ligner grangiveligt det jeg har brug for... :-)

Men jeg mangler vel lige at få den oprindelige ASP-kilde til login-siden; dvs. den kildekode, der henviser til den fil hvor de forskellige brugere og passwords ligger gemt?

Hvis du fremskaffer det, giver jeg dig fluks 100 af de grove... :-)

Med venlig hilsen,
Kristoffer Okkels
Avatar billede firehat Nybegynder
19. juli 2003 - 10:52 #7
login.asp :
-------------------------------------------------
<%
User = Request.Querystring("user") ' Sætter User til det man indtastede i formen
Pass = Request.Querystring("pass") ' ..og Pass !

If LCase(User) = "bruger1" AND LCase(Pass) = "pass1" Then
    Session("login") = User
Elseif LCase(User) = "bruger2" AND LCase(Pass) = "pass2" Then
    Session("login") = User
Elseif LCase(User) = "bruger3" AND LCase(Pass) = "pass3" Then
    Session("login") = User
End if

' Og man kan blive ved mere at lave flere og flere elseif, tror du forstår systemet..!

If Session("login") <> "" Then ' Hvis man er logget ind, så
    Response.Redirect "beskyttede_side.asp"
End if
%>
<html>
<head>
    <title>Login</title>
</head>
<body>
<form>
Brugernavn: <input name="user"><br>
Password: <input name="pass" type="password"><br>
<input type="submit" value="Login >">
</form>
</body>
</html>


-------------------------------------------------
beskyttede_side.asp :
-------------------------------------------------
<%
If Session("login") = "" Then
    Response.Redirect "login.asp"
End if
%>
<html>
<head>
    <title>Logget ind :)</title>
</head>
<body>
Denne side kan kun brugere som er logget ind se ..<br><br>
På de se hvor man skal være logget ind skal følgende kode være øverst på siden (over &lt;html&gt;)
<br>
<font size="2"><i>&lt;%<br>
If Session("login") = "" Then<br>
    Response.Redirect "login.asp"<br>
End if<br>
%&gt;</i></font>
<br><br>
På siden hvor man skal logge ud, skal denne kode være:<br>
<font size="2"><i>&lt;%<br>
Session("login") = ""<br>
%&gt;</i></font>
<br>
BEMÆRK! Der må koden for at tjekke om man er logget ind, <i>ikke</i> være!
<br><br>
<a href="logud.asp"><b>Logud</b></a>
</body>
</html>

-------------------------------------------------
logud.asp :
-------------------------------------------------
<%
Session("login") = ""
%>
<html>
<head>
    <title>Logget ud!</title>
</head>
<body>
Du er nu logget ud ..
<br><br>
<a href="login.asp"><b>Login</b></a>
</body>
</html>



^Det er de tre filer..^
Avatar billede okkels Nybegynder
19. juli 2003 - 11:32 #8
Jeg takker mange gange firehat - det er vist lige efter bogen! ;-)

Et lille ekstrsspørgsmål: kan det lade sig gøre at lave en fejlmeddelelse til brugere, hvis de indtaster forkert ID og/eller password? Enten i form at blot en fejlmeddelelse eller redirect til en ny side?

På forhånd tak...
Kristoffer Okkels
Avatar billede okkels Nybegynder
19. juli 2003 - 16:53 #9
Og endnu et kort spørgsmål, som jeg kunne forestille mig var let at svare på hvis man har lidt forstand på der her skidt.
Hvordan tildeler man hver enkelt bruger et "navn", som er anderledes end deres brugernavn. Det jeg gerne vil er, at en bruger der logger ind med fx "hansen" kan gives et andet navn på siden. Jeg tror koden skal være noget lig med:
<%= Session("username") %>
men jeg ved det naturligvis ikke - og jeg kan heller ikke få det til at fungere på den måde.

Svar vil være meget velkomment - hvis der skal flere point på bordet, så sig endelig til.

Tak,
Okkels
Avatar billede okkels Nybegynder
19. juli 2003 - 16:54 #10
En kort sidekommentar. Hvis jeg sætter ovenstående til <%= Session("login") %> kan jeg "kalde" den pågældende brugers brugernavn. Det jeg forestiller mig jeg skal, er at oprette endnu en session. Kan det lade sig gøre?
Avatar billede squashguy Nybegynder
19. juli 2003 - 17:29 #11
hvis du skal have navn på bruger med, kan det måske betale sig med en lille omskrivning af firehat's login.asp:

<%
User = LCase(Request.QueryString("user")) ' Sætter User til det man indtastede i formen
Pass = LCase(Request.QueryString("pass")) ' ..og Pass !

users = _
    "navn på bruger1|bruger1|pass1|" &_
    "navn på bruger2|bruger2|pass2|" &_
    "navn på bruger3|bruger3|pass3|"

aUsers = split(users, "|")
bOk = False

For i=0 To UBound(aUsers)-3 Step 3
    If aUsers(i+1) = User And aUsers(i+2) = Pass Then
        bOk = True
        Exit For
    End If
Next

If bOk Then
    Session("login") = aUsers(i+1)
    Session("name") = aUsers(i) 'navnet på brugeren
    Response.Redirect "beskyttede_side.asp"
Else
    Session("login") = ""
    If User <> "" Then
        Response.Write "<b>Du har indtastet forkert brugernavn/password</b>"
    End If
%>
<html>
<head>
    <title>Login</title>
</head>
<body>
<form>
Brugernavn: <input name="user"><br>
Password: <input name="pass" type="password"><br>
<input type="submit" value="Login >">
</form>
</body>
</html>

<% End If %>
Avatar billede okkels Nybegynder
22. juli 2003 - 17:04 #12
Det ser rigtig godt ud. Jeg har dog fundet 2 mindre problemer.

Hvis jeg logger med bruger1 først, kommer det rigtige navn til at stå der. Problemet opstår når jeg logger ud med bruger1 og logger ind med bruger2, så står der stadig bruger1's navn. Kan det laves om?

Mit andet problem består i, at fejlmeddelelsen der kommer, hvis man indtaster forkert ID/password, ikke kommer frem under min login-boks, men derimod helt i toppen af siden. Jeg ved ikke om det skyldes at min side er opbygget vha. tabeller? Men kan det ikke lade sig gøre at "kalde" fejlmeddelelsen på et specifikt sted på siden?

På forhånd mange tak. Endnu engang må du sige til, hvis der skal flere point på bordet - i så fald er jeg den glade giver.. :-)

Mvh/
Kristoffer Okkels
Avatar billede okkels Nybegynder
22. juli 2003 - 17:11 #13
Problemet med at navnene ikke følger med, er nu blevet rettet så det behøves du ikke spekulere på.. :-)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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