Login und anschließende Daten für den Benutzer

bonke-online

Grünschnabel
Hallo Ihr Auskenner,
habt Ihr eine Idee, wenn der Login für geschützte Seiten funktioniert, wie ich die SQL-Daten von einem bestehenden SQL-Server für den Benutzer filtern oder bereitstellen kann.
Wie kann man am besten die Login-Daten für die Benutzung einer Datenbank verwenden?
Ich würde mich über eine Hilfe freuen, danke
Jan
 
Hi

mal ganz groß gesagt, man gibt Kennung und Passwort in entspr. Formularfelder ein. Diese Werte werden mit den bestehenden Daten einer Logintabelle verglichen. Stimmen sie überein, wird eine Session oder ein Cookie generiert z.B. mit einem Rechtemodus.

Haben jetzt die Allgemeinen Daten auch einen Rechtemodus, kann man die SQL so abfragen, dass der eingeloggte User nur die Daten sehen darf, die größer gleich (>=) seines eigenen Rechtemodus sind.

Dieses Vorgehen setzt voraus, dass je neidriger das Recht des Users, desdo höher die Modus ist.

Bsp.
Admin = 0
admin1 = 1
UserA = 2
UserB = 3
UserC = 4
Gast = 5

sql = "select * from tabelle where rechte >=" & session("recchte")

Gibt bestimmt noch andere, dies wäre eine Möglichkeit. Kommt immer drauf an, was man möchte. Ich z.B. baue meine Navigation so auf.
 
Hallo

http://www.aspfaq.de/index.asp?RID=1&FID=9&SFI=1&ELE=784&OPID=0&ORID=0&OSST=login&OSFI=1
http://www.aspextra.de/asp/praxis/Cookies_in_ASP.html
http://www.w3schools.com/asp/asp_cookies.asp

Hier ein Beispiel anch Vorlage aus aspheute.com

Code:
<% @ Language=VBScript %>
<!--METADATA NAME="Microsoft ActiveX Data Objects 2.5 Library" TYPE="TypeLib" UUID="{00000205-0000-0010-8000-00AA006D2EA4}"-->
<%
Option Explicit
Dim strConn, bValidationFailed, strUsername, strPassword, strSQL, param, cmd, rs

strConn = "DSN=Verbindung"

Const nMaxUsernameLength = 20
Const nMaxPasswordLength = 10
bValidationFailed = False

If Request.ServerVariables("CONTENT_LENGTH") > 0 Then
  strUsername = Trim(Request.Form("UName"))
  strPassword = Trim(Request.Form("UPwd"))
  strUsername = Left(strUsername, nMaxUsernameLength)
  strPassword = Left(strPassword, nMaxUsernameLength)

  strSQL = "SELECT rechte FROM User WHERE benutzer=? AND passwort=?"
  Set cmd = Server.CreateObject("ADODB.Command")
  cmd.CommandText = strSQL
  cmd.CommandType = adCmdText

  ' Kein Parametername wird übergeben
  Set param = cmd.CreateParameter("", adVarChar, adParamInput, nMaxUsernameLength, strUsername)
  cmd.Parameters.Append param
  
    Set param = cmd.CreateParameter("", adVarChar, adParamInput, nMaxPasswordLength, strPassword)
  cmd.Parameters.Append param
    
  cmd.ActiveConnection = strConn 
  Set rs = cmd.Execute()

  If (Not rs.EOF And Not rs.BOF) Then 
   ' --- hier können Sessions bzw. Cookies generiert werden
    session("SURechte") = rs(0)
    Response.Redirect "weiterseite.asp"
    Response.End
   Else
    bValidationFailed = True
   End If
 End If
%>

<html>
<head>
	<title>Logon</title>
	<link rel="stylesheet" href="stylesheet.css" type="text/css">
</head>
<body class="body">

<table width="100%">
<tr><td align="center">
<table class="tbflat">
<tr class="td"><td valign="center" align="center" width="350">
<H1>Logon</H1>

<% 
if bValidationFailed Then 
    Response.Write "<p><b>Login failed!</b></p>"
End If 
%>
<p>

<form method="post" action="<%=Request.ServerVariables("SCRIPT_NAME")%>">
<table>
<tr><td class="smallertext">Username:</td><td><input name="uname" type=text value="501" size="20"></td></tr>
<tr><td class="smallertext">Password:</td><td><input name="upwd" type=password value="oscarbox" size ="20"></td></tr>
<tr><td colspan=2>&nbsp;<br><center><input type="submit" value="Enter secured area"></center></td></tr>
</table>
</form>
</p>

</td></tr></table>
</td></tr></table>

</BODY>
</HTML>
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück