Avatar billede karsten_larsen Praktikant
22. december 2003 - 09:41 Der er 8 kommentarer og
1 løsning

Skelne mellem brugerniveauer - hvad er den bedste metode?

I et logonsystem skal der skelnes mellem brugernivauer - i første omgang [admin] og [bruger].

Hvordan laves det bedst muligt? Mit forslag er følgende, men jeg vil meget gerne have andre input.

En admin side, hvor valg muligheder for bruger sættes f.eks.
valg1 = ja / nej (ja = 1 & nej = 0)
valg2 = ja / nej (ja = 1 & nej = 0)
valg3 = ja / nej (ja = 1 & nej = 0)
etc.

Ved logon indlæses valg i session Således

Ved [admin-status](hentet fra database)
If adgangsstatus = "admin" then
    session.valg1 = "1"
    session.valg2 = "1"
    session.valg3 = "1"
    etc.
end if

Ved [bruger-status] hentet fra database)
If adgangsstatus = "bruger" then
If valg1 = "ja" then
session.valg1 = "1"
else
session.valg1 = ""
end if
etc.

På de sider hvor der skal skelnes mellem adgangsniveuer
If session.valg1 = "1" then
    Scriptet/menu kører
else
    Scriptet/menu kører ikke
end if

Er det den rigtige måde at gøre det på?

:-) karsten_larsen
Avatar billede trumf Nybegynder
22. december 2003 - 09:59 #1
Personligt vil jeg bruge tal i stedet for "bruger" og "admin" da du måske vil få brug for flere typer, f.eks. når en admin degraderes til bruger, men alligevel stadig skal have delvist adgang osv. men ellers ser det fint ud.
Avatar billede syntax_hh Nybegynder
22. december 2003 - 10:15 #2
Jeg har lavet sådan et system til et community, her kan du lige få at vide hvordan man kune gøre:

Du skal ha et felt i din database der fx hedder admin

Ved alle der er admin skriver du i admin feltet ud for deres brugernavn, ja..

Så laver du en session når de logger ind:
Session("admin") = recordset("admin")

Og inde på dine sider kan du gøre sådan:

If Session("admin") = "ja" Then Response.Write "Slet bruger" End If

Det skulle vist være det? ;)
Avatar billede karsten_larsen Praktikant
22. december 2003 - 12:11 #3
-> trumf:
Det åbentbart metoden, tallene er en god ide.

-> syntax_hh:
Jeg forstår ikke dette. Hvad skal det gøre godt for?
If Session("admin") = "ja" Then
  Response.Write "Slet bruger"
End If

:-) karsten_larsen
Avatar billede karsten_larsen Praktikant
22. december 2003 - 12:12 #4
-> trumf:
Det er åbentbart metoden, tallene er en god ide.

-> syntax_hh:
Jeg forstår ikke dette. Hvad skal det gøre godt for?
If Session("admin") = "ja" Then
  Response.Write "Slet bruger"
End If

:-) karsten_larsen
Avatar billede trumf Nybegynder
22. december 2003 - 12:22 #5
Jeg forstår heller ikke syntax_hh :)
Avatar billede trumf Nybegynder
22. december 2003 - 12:29 #6
Jeg har selv noget hvor jeg har administrator der kan alt + slette, superbruger, der kan rette, men ikke slette, bruger der kan skrive, men ikke rette, partner der kan skrive, men vises i sammen med brugere og gæster der kun kan læse.
I starten havde jeg kun 3 typer brugere og derfor var det godt at jeg brugte tal til dem, for jeg skriver f.eks. bare
If status < 2 then
  der kan slettes
End If
osv. ved alle knapper...
Avatar billede karsten_larsen Praktikant
22. december 2003 - 12:43 #7
-> trumf

Det havde jeg ikke tænkt på status < 2 osv og det kan jo let kombles til de funktioner jeg bruger.

Tak for hjælpen

:-) karsten_larsen
Avatar billede trumf Nybegynder
22. december 2003 - 13:59 #8
Tak for point :)

Måske du skulle lave en tabel med de brugertyper du kan komme i tanke om og så give dem ID 10 20 30 osv, så er det meget nemt at tilføje nye brugertyper senere imellem f.eks. 11 og 12 osv...
Avatar billede karsten_larsen Praktikant
22. december 2003 - 14:10 #9
-> trumf:
Den tager jeg med. Der er ikke noget mere besværligt end at skulle ændre på sin kode sidenhen.

God jul herfra.

:-) karsten_larsen
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