Avatar billede hjaelp Nybegynder
15. oktober 2001 - 14:04 Der er 17 kommentarer og
1 løsning

Login med tre brugere.

Hej med Jer.
Jeg skal lave et opdateringsinterface til en side jeg har lavet.
Jeg er dog løbet ind i lidt problemer m.h.t. login\'et.
Der skal være tre forskellige brugere (Person1, Person2 og webmaster)
der alle har forskelligt brugernavn og password.
Alle brugere har adgang til de tre sider der bruges til at opdatere
(EditNews.asp, NewsList.asp & AddStory.asp).
Mit problem er, at jeg ikke før har lavet et sådant login,
så jeg vil gerne vide hvordan det gøres lettest og smartest?


Hjaelp
Avatar billede webbe Nybegynder
15. oktober 2001 - 15:12 #1
Jeg plejer at bruge følgende script, som fungerer fint:

<% Option Explicit %>
<% Response.Buffer = True %>

<%
Dim username, password, url

\'definerer formularfelterne fra defaultsiden
\'username = Request.Form(\"username\")
\'password = Request.Form(\"password\")

\'definerer databasevariabler
Dim Connect, UserRS, SQL
Set Connect = Server.CreateObject(\"ADODB.Connection\")
Connect.Open \"dsn_name\"

\'henter brugerens data fra databasen
SQL = \"SELECT * FROM table_name WHERE username=\'\"&replace(replace(Request.Form(\"username\"), \"\'\", \"¤#¤\"), \"\"\"\", \"¤##¤\")&\"\' AND password=\'\"&replace(replace(Request.Form(\"password\"), \"\'\", \"¤#¤\"), \"\"\"\", \"¤##¤\")&\"\';\"
Set UserRS = Connect.Execute(SQL)

\'session variable
If not UserRS.bof then
    Session(\"adgang\") = true
    Session(\"Brugernavn\") = username
    Session(\"Password\") = password
    url = \"welcome.asp\"
else
    Session(\"Admin\") = false
    Session(\"Bruger\") = false
    Session(\"Brugernavn\") = \"\"
    Session(\"Password\") = \"\"
    Session(\"adgang\") = false
    url = \"retry.asp?error=ja\"
End if

\'lukker forbindelsen til databasen
Connect.Close
Set Connect = Nothing

\'omdirrigerer til den angivne URL
Response.Redirect(url)
%>
Avatar billede hjaelp Nybegynder
15. oktober 2001 - 21:51 #2
Det skal helst ikke gøres v.h.a. en database.
Avatar billede webbe Nybegynder
16. oktober 2001 - 08:18 #3
Hvorfor fanden vil du gøre det uden én eller anden form for DB?????

Du bliver sq da nødt til at have dine login-oplysninger stående et eller andet sted!!!!

En anden - men ikke så smart - løsning kunne være følgende:

På den side du vil tjekke login-oplysninger på laver du nogle IF-sætninger:

If request.form(\"Brugernavn\") = \"Person1\" AND request.form(\"password\") = \"person_1_password\" Then
  response.redirect(\"minfil.asp\")
Else
  response.redirect(\"retry.asp\")
End if

Denne if-sætning skriver du bare for hver person der skal have lov til at logge ind!
Avatar billede webbe Nybegynder
16. oktober 2001 - 08:19 #4
Vil bare lige gøre dig opmærksom på, at denne metode ikke er den bedste - det bedste ville være at bruge en database.....gør administrationen noget lettere!
Avatar billede yezper Nybegynder
16. oktober 2001 - 09:41 #5
Det skulle nok ha\' set således ud:

If Request.Form(\"Brugernavn\") = \"Person1\" AND request.form(\"password\") = \"person_1_password\" Then
  Response.Sedirect(\"minfil.asp\")
  Session(\"Auth\") = True
  Response.End
ElseIf request.form(\"Brugernavn\") = \"Person2\" AND request.form(\"password\") = \"person_2_password\" Then
  Response.Sedirect(\"minfil.asp\")
  Session(\"Auth\") = True
  Response.End
ElseIf request.form(\"Brugernavn\") = \"Webmaster\" AND request.form(\"password\") = \"Webmaster_password\" Then
  Response.Sedirect(\"minfil.asp\")
  Session(\"Auth\") = True
  Response.End
Else
  Response.Sedirect(\"retry.asp\")
  Session(\"Auth\") = False
  Response.End
End if
Avatar billede yezper Nybegynder
16. oktober 2001 - 09:42 #6
Skal da også sige, at det ville være smartest, hvis du kunne benytte en database - så kan du meget lettere oprette flere brugere.
Avatar billede webbe Nybegynder
16. oktober 2001 - 10:09 #7
yezper:

Nå ja - hvis man vil bruge sessions - hvilket jo er en god ting! ;0)

Men mere simpelt end mit kan det vel næppe blive! *G*
Men det er ikke den løsning jeg ville fortrække.....ville til hver en tid vælge at bruge en DB. ;0)
Avatar billede Slettet bruger
16. oktober 2001 - 10:21 #8
Webbe > Hvorfor kan man ikke gemme oplysningerne i varibler?
Avatar billede webbe Nybegynder
16. oktober 2001 - 10:34 #9
philip:

Kan du også sagtens.....er jo det man bruger Sessions til.....lavede bare en ekstremt simpel løsning!

Men ville ikke selv foretrække den simple løsning....ville altid bruge en DB og Sessions....kunne også forestille mig at hvis en ny bruger skulle kobles på at man så glemte at kode det i filen....er lettere bare at tilføje i en DB og lade scriptet tjekke om brugeren er oprettet i DB\'en og hvilke rettigheder brugeren har!
Avatar billede Slettet bruger
16. oktober 2001 - 10:39 #10
Bare så du ved det, så bruger de fleste sessions - uanset om det er med database eller ej, sessions.
Avatar billede webbe Nybegynder
16. oktober 2001 - 10:40 #11
philip:

Er jeg da godt klar over......men nu ville han have et simpelt forslag - og det fik han! ;0)
Avatar billede Slettet bruger
16. oktober 2001 - 14:02 #12
Du bruger altså sessions i det eksempel du gav ham!
Avatar billede webbe Nybegynder
16. oktober 2001 - 14:06 #13
philip:

Ja - i det første.....der bruger jeg en DB og Sessions, men det ville han jo ikke bruge.....derfor lavede jeg et forslag til ham uden brug af DB og sessions!

Er sq godt klar over hvad jeg selv gør!
Avatar billede Slettet bruger
16. oktober 2001 - 14:08 #14
Hvad fanden vil du så gøre, hvis du går direkte ind på minfil.asp ???

Hovsa... Du er på røven :-)
Avatar billede webbe Nybegynder
16. oktober 2001 - 14:13 #15
Er jeg sq godt klar over....men han bad om en simpel løsning og det fik han.....forslaget er sq da ikke et udtryk for hvad jeg selv ville gøre!!!

Som du kan se på det første eksempel jeg gav så skrev jeg \"Jeg plejer at bruge...\" - det burde du da også forstå som om at det er den foretrukne løsning!!!!!

Laver selv mine koder så man ikke bare kan skrive adressen og gå ind på filer hvor man ikke skal have adgang!!!
Har selv styr på min sikkerhed!!!
Avatar billede hjaelp Nybegynder
16. oktober 2001 - 16:18 #16
Tak skal du have
Avatar billede Slettet bruger
16. oktober 2001 - 17:00 #17
webbe > hvordan laver du det så, hvis du ikke bruger sessions?
Avatar billede webbe Nybegynder
17. oktober 2001 - 07:53 #18
philip:

Prøv dog at læse indlæggende her i debatten.....det er det andet forslag jeg kommer med.....det er ude DB og sessions.
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