%@ Language=VBScript %>
<%
' Version 1.5 2008.08.27
' Revision:
' HTML form XHTML 1.0 validated, 20051109
' Optimized for OLE DB
' (c) VEVIDA.NL & JFA van den Akker
'
' Beveilig uw webpagina's met deze asp pagina.
' De te beveiligen pagina's dienen de extentie .asp te hebben.
'
' * Gebruik de volgende code om de pagina's te beveiligen:
'
' LET OP! Zet bovenstaande regel bovenin de te beveiligen pagina's!
'
' * Stel in de te beveiligen pagina de volgende variabele in om
' * bepaalde beveiligingsniveaus te gebruiken.
' MinSecurityLevel
'
' Er is ook een database nodig! Zie het bestand userdatabase.mdb
'
' De volgende variabelen worden voor deze pagina gebruikt. Gebruik
' deze NIET in de te beveiligen pagina.
Dim Username, Password, Securitylevel, PreviousPage, Logout, Errortext
Dim Databasepath, DTB_Conn, DTB_SQL, DTB_Rs, LoginErrorText, LogoutText
Dim StandardPage, ThisPage, PleaseLoginText, LoggedIn, WrongSecurityLevelText
'
' * Waar staat de database?
' Zet de database in de door ons opgeleverde directory /database
' Alleen daar is de database voldoende beschermd!!!
'
Databasepath = "http:\\www\brghtweb.nl\database\userdatabase.mdb"
' * De foutmelding als de gebruiker niet is gevonden of
' * het wachtwoord niet correct is
LoginErrorText = "Gebruiker niet gevonden of wachtwoord niet correct."
' * De tekst die bevestigt dat de gebruiker is uitgelogd
'
LogoutText= "U bent nu uitgelogd."
' * Waarschuwing dat er eerst ingelogd moet worden
'
PleaseLoginText = "Eerst inloggen aub!"
' * Waarschuwing als een gebruiker het verkeerde beveiligingsniveau heeft
'
WrongSecurityLevelText = "Te weinig rechten om deze pagina te bekijken."
' * Standaard pagina waar na het inloggen wordt doorgesprongen
' Let op! Als de gebruiker een beveiligde pagina heeft opgevraagd
' en daardoor op deze pagina is gekomen, dan wordt naar die pagina
' doorgegaan.
'
StandardPage = "/intranet/default.asp"
' * De locatie van deze pagina in het web
'
' De locatie van dit bestand
ThisPage = "/inranet/login/login.asp"
' ******************************************
' Vanaf hier hoeft de code NIET te worden veranderd.
' De inlog pagina na deze code kan wel weer worden aangepast.
' ******************************************
Errortext = ""
LoggedIn = False
' In het veld Username op de webpagina staat de gebruikersnaam
Username = Request.Form("Username")
' In het veld Password op de webpagina staat het wachtwoord
Password = Request.Form("Password")
' In de sessievariabele PreviousPage wordt onthouden welke pagina de
' gebruiker wilde bekijken voordat hij op de inlogpagina terecht kwam
PreviousPage = Session("PreviousPage")
Logout = Request("Logout")
if PreviousPage = "" then
' Als dit de eerst opgevraagde pagina is, ga dan naar de standaardpagina.
PreviousPage = StandardPage
end if
if Logout <> "" then
' De gebruiker heeft ervoor gekozen uit te loggen.
Session("Securitylevel") = ""
Session("Username") = ""
Session.abandon
Errortext = Errortext & LogoutText & "
"
LoggedIn = False
end if
if Request.ServerVariables("PATH_INFO") <> ThisPage then
' Pagina is aangeroepen vanuit een andere:
' controlleer of de gebruiker is ingelogd
if session("Username") <> "" then
' Gebruiker is ingelogd
if session("Securitylevel") => MinSecurityLevel then
' Beveiligingsniveau is in orde
LoggedIn = True
else
' Beveiligingsniveau is te laag
Errortext = WrongSecurityLevelText & "
"
end if
else
' Gebruiker is niet ingelogd
' onthoudt de pagina waar de gebruiker naar toe wilde
PreviousPage = Request.ServerVariables("PATH_INFO")
session("PreviousPage") = PreviousPage
' Foutmelding: vraag om eerst in te loggen
Errortext = PleaseLoginText & "
"
LoggedIn = False
end if
end if
if Username <> "" and LoggedIn = False then
' Gebruiker wil inloggen: controleer het wachtwoord
' Stelde database in
Set DTB_Conn = Server.CreateObject("ADODB.Connection")
DTB_Conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="& Databasepath &";"
DTB_Conn.Open
' De SQL query
DTB_SQL = "SELECT * FROM TblUsers WHERE Username='" & Username & "'"
Set DTB_Rs = DTB_Conn.Execute(DTB_SQL)
if not DTB_Rs.EOF then
' Gebruiker gevonden: controleer wachtwoord
if Password = DTB_Rs("Password") then
' Wachtwoord in orde:
' Zet de gebruikersnaam in de Sessievariabele
Session("Username") = Username
' Zet het beveiligingsniveau van de gebruiker in de Sessievariabele
Session("Securitylevel") = DTB_Rs("Securitylevel")
' Verwijs naar de volgende pagina
response.redirect(PreviousPage)
else
' Wachtwoord fout
Errortext = Errortext & LoginErrorText & "
"
end if
else
' Gebruiker niet gevonden
Errortext = Errortext & LoginErrorText & "
"
end if
Set DTB_RS = nothing
DTB_Conn.Close
Set DTB_Conn = nothing
end if
if LoggedIn = False then
' Toon de inlogpagina als de gebruiker niet is ingelogd.
' ******************************************
' Einde van de code NA % >
' Hier kan de HTML inlogpagina worden gezet.
' De volgende variabelen kunnen worden gebruikt
'
' Let op! verwijder de spatie tussen < % en tussen % >
' < %=ThisPage% > Handig voor :