DevTrain

Autor: Unbekannt nn

Vorteil von Session Variablen in ASP

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>


Erfasst am: 04.05.2001 - Artikel-URL: http://www.devtrain.de/news.aspx?artnr=438
© Copyright 2003 ppedv AG - http://www.ppedv.de