Wie kann ich meine Seiten nur regestrierten Usern zu verfügung stellen ??
Und ausserdem den Benutzernamen auf jeder Seite ausgeben ?
Diese Frage hat sich bestimmt der eine oder andere von euch schon gestellt !
In dem folgendem Beispiel wollen wir erklären wie dies sehr leicht und ohne
großen Aufwand in ASP zu realisieren ist !
Als erstes setze ich zwei Session Variablen ("Zugriff") und ("Username") in der Global.asa
sub session_onstart() Session("Zugriff") = false Session("Username") = "" end sub |
Danach erstelle ich eine Login ASP-Seite in der jeder User Benutzernamen und Passwort
eingeben muss ! Nur wenn der eingegebene Benutzername und das Passwort mit den Daten
aus der Datenbank übereinstimmen wird die Session Variable ("Zugriff") auf True und
die Session Variable ("Username") mit dem Benutzernamen gesetzt.
<form> <table> <tr> <td>Benutzername:</td> <td><input type="text" id="txtbenutzername" name="txtbenutzername"></td> </tr> <tr> <td>Kennwort:</td> <td><input type="password" id="pwdkennwort" name="pwdkennwort"></td> </tr> <tr> <td colspan="2"><input type="submit" value="Submit" id="btnok" name="btnok"></td> </tr> </table> </form> <% if Request.Form("btnok") = "Submit" then dim oLogIn
set oLogIn = Server.CreateObject("ppDB.DBAccess")
oLogIn.Connection = "Provider=SQLOLEDB.1;Persist Security Info= False;UserID=sa;Initial Catalog=Focus2000;Data Source=NT_DIRSCHL;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=NT_DIRSCHL;Use Encryption for Data=False;Tag with column collation when possible=False" 'Application("focus_ConnectionString")
oLogIn.ClearParams oLogIn.Param("sBName") = CStr(Request.Form("txtbenutzername")) oLogIn.Param("sPassword") = CStr(Request.Form("pwdkennwort")) oLogIn.ExecSP "sp_login_user", true if not(CBool(oLogIn.EOF)and CBool(oLogIn.BOF))then session("Username") = Request.Form("txtBenutzername") session("LogIn") = true Response.Redirect "default.asp" else %> <table border="0" align="center"> <tr> <td><%Response.Write "Ihre Eingaben sind nicht korrekt das System konnte Sie nicht anmelden !"%></td> </tr> </table> <% end if set oLogIn = nothing end if %> |
Der nächste und zugleich letzte Schritt um die Seiten vor unberechtigtem Zugriff zu schützen ist die Abfrageauf jeder Seite ob die Session Variable ("zugriff") auf true oder auf false steht ! Ausserdem ist es möglich den Benutzernamen mit Hilfe der Session Variable
("Username") auf jeder Seite auszugeben !
if Session( "LogIn" ) = false then Response.Redirect "/focus2000/login.asp" end if <tr class="username"> <td>Loginname: <% = Session( "Username" ) %></td> </tr> |