Anzeigen:
Results 1 to 4 of 4

Thread: ASP Login Benutzerebene anpassen

  1. #1

    ASP Login Benutzerebene anpassen

    Hallo,

    verwende ASP/VBScript habe die Login Page erstellt welche auch soweit funktioniert allerdings möchte ich es so entsprechend anpassen, dass
    z.B.
    Administrator auf die Seite admin.asp
    Groupleader auf die Seite group.asp
    user auf die Seite public.asp
    bei erfolgreichem Login weitergeleitet werden .

    Bei PHP habe ich hier ein Beispiel gefunden lässt sich aber nicht eins zu eins auf asp übertragen: Link

    Hoffe mir kann jemand helfen anbei mein Script:

    Code:
    <%
    ' *** Validate request to log in to this site.
    MM_LoginAction = Request.ServerVariables("URL")
    If Request.QueryString <> "" Then MM_LoginAction = MM_LoginAction + "?" + Server.HTMLEncode(Request.QueryString)
    MM_valUsername = CStr(Request.Form("username1"))
    If MM_valUsername <> "" Then
      Dim MM_fldUserAuthorization
      Dim MM_redirectLoginSuccess
      Dim MM_redirectLoginFailed
      Dim MM_loginSQL
      Dim MM_rsUser
      Dim MM_rsUser_cmd
      
      MM_fldUserAuthorization = "usergroup1"
      MM_redirectLoginSuccess = "admin.asp"
      MM_redirectLoginFailed = "login_unsuccessfully.asp"
    
      MM_loginSQL = "SELECT username1, password1"
      If MM_fldUserAuthorization <> "" Then MM_loginSQL = MM_loginSQL & "," & MM_fldUserAuthorization
      MM_loginSQL = MM_loginSQL & " FROM tbl_login WHERE username1 = ? AND password1 = ?"
      Set MM_rsUser_cmd = Server.CreateObject ("ADODB.Command")
      MM_rsUser_cmd.ActiveConnection = MM_SDE_STRING
      MM_rsUser_cmd.CommandText = MM_loginSQL
      MM_rsUser_cmd.Parameters.Append MM_rsUser_cmd.CreateParameter("param1", 200, 1, 255, MM_valUsername) ' adVarChar
      MM_rsUser_cmd.Parameters.Append MM_rsUser_cmd.CreateParameter("param2", 200, 1, 255, Request.Form("password1")) ' adVarChar
      MM_rsUser_cmd.Prepared = true
      Set MM_rsUser = MM_rsUser_cmd.Execute
    
      If Not MM_rsUser.EOF Or Not MM_rsUser.BOF Then 
        ' username and password match - this is a valid user
        Session("MM_Username") = MM_valUsername
        If (MM_fldUserAuthorization <> "") Then
          Session("MM_UserAuthorization") = CStr(MM_rsUser.Fields.Item(MM_fldUserAuthorization).Value)
        Else
          Session("MM_UserAuthorization") = ""
        End If
        if CStr(Request.QueryString("accessdenied")) <> "" And false Then
          MM_redirectLoginSuccess = Request.QueryString("accessdenied")
        End If
        MM_rsUser.Close
        Response.Redirect(MM_redirectLoginSuccess)
      End If
      MM_rsUser.Close
      Response.Redirect(MM_redirectLoginFailed)
    End If
    %>

  2. #2
    die Gütige ... Gudula's Avatar
    Join Date
    04/2001
    Location
    aus dem Sauerland
    Posts
    10.342

    AW: ASP Login Benutzerebene anpassen

    Es gibt das verschiedene Möglichkeiten, ähnlich wie Benutzer und Benutzergruppen.

    Diese Gruppenzugehörigkeit muss bei der Anmeldung festgelegt werden.

    Eine Datenbanktabelle würde dann aus 2 Tabellen bestehen, User und Benutzergruppen. In der Benutzergruppentaballe kannst Du z.B. einen Verweis festlegen.
    Der User bekommt dann die Benutzergruppen-Id.

    Über einen join verbindest Du beide Tabellen und nutzt dies als Loginabfrage.

    Den Verweis kannst Du beim Select mit ausgeben und in die Variable MM_redirectLoginSuccess einlaufen lassen.

    Andere Alternative, Du kennst die Werte der Usergroup und fragst dies ab. (wie im Beispiel). Beispiel ist nicht getestet.

    Beim Login kannst Du dem User einer Gruppe zuordnen. Diese fragst Du dann ab und änderst die Variable für LoginSuccess entsprechend
    Code:
      If Not MM_rsUser.EOF Or Not MM_rsUser.BOF Then 
        ' username and password match - this is a valid user
        Session("MM_Username") = MM_valUsername
        If (MM_fldUserAuthorization <> "") Then
          Session("MM_UserAuthorization") = CStr(MM_rsUser.Fields.Item(MM_fldUserAuthorization).Value)
          
          ' ---- ab hier Änderung
          
          select case CStr(MM_rsUser.Fields.Item(MM_fldUserAuthorization).Value)
          case "group1"
                MM_redirectLoginSuccess = "admin.asp"
    	case "group2"
    		MM_redirectLoginSuccess = "irgendwas.asp"
          case else
          MM_redirectLoginSuccess = "allgemein.asp"
          end select
          
          ' --- Ende
          
        Else
          Session("MM_UserAuthorization") = ""
        End If
        if CStr(Request.QueryString("accessdenied")) <> "" And false Then
          MM_redirectLoginSuccess = Request.QueryString("accessdenied")
        End If
        MM_rsUser.Close
        Response.Redirect(MM_redirectLoginSuccess)
      End If
      MM_rsUser.Close
      Response.Redirect(MM_redirectLoginFailed)
    End If
    Herzliche Grüße, Gudula
    per aspera ad astra
    Ich bin kein Klugscheißer, ich weiß es wirklich besser!

  3. #3

    AW: ASP Login Benutzerebene anpassen

    Hallo,

    habe es nun selbst lösen können

    Anbei der Code falls es jemand benötigen sollte (der Pfad wird in einer Access oder SQL Datenbank hinterlegt) hier ist der Spaltenname link1 benannt.

    Grüße Frank

    Code:
    <%
    Dim rs_login
    Dim rs_login_cmd
    Dim rs_login_numRows
    
    Set rs_login_cmd = Server.CreateObject ("ADODB.Command")
    rs_login_cmd.ActiveConnection = MM_SDE_STRING
    rs_login_cmd.CommandText = "SELECT * FROM tbl_login" 
    rs_login_cmd.Prepared = true
    
    Set rs_login = rs_login_cmd.Execute
    rs_login_numRows = 0
    %>
    <%
    ' *** Validate request to log in to this site.
    MM_LoginAction = Request.ServerVariables("URL")
    If Request.QueryString<>"" Then MM_LoginAction = MM_LoginAction + "?" + Request.QueryString
    MM_valUsername=CStr(Request.Form("field_user"))
    If MM_valUsername <> "" Then
      MM_fldDynamicRedirect="link1"
      MM_fldUserAuthorization=""
      MM_redirectLoginSuccessDynamic=""
      MM_redirectLoginFailed="login_unsuccessfully.asp"
      MM_flag="ADODB.Recordset"
      set MM_rsUser = Server.CreateObject(MM_flag)
      MM_rsUser.ActiveConnection = MM_SDE_STRING
      MM_rsUser.Source = "SELECT username1, password1"
      If MM_fldDynamicRedirect <> "" Then MM_rsUser.Source = MM_rsUser.Source & "," & MM_fldDynamicRedirect
      If MM_fldUserAuthorization <> "" Then MM_rsUser.Source = MM_rsUser.Source & "," & MM_fldUserAuthorization
      MM_rsUser.Source = MM_rsUser.Source & " FROM tbl_login WHERE username1='" & Replace(MM_valUsername,"'","''") &"' AND password1='" & Replace(Request.Form("field_password"),"'","''") & "'"
      MM_rsUser.CursorType = 0
      MM_rsUser.CursorLocation = 2
      MM_rsUser.LockType = 3
      MM_rsUser.Open
      If Not MM_rsUser.EOF Or Not MM_rsUser.BOF Then 
        ' username and password match - this is a valid user
        Session("MM_Username") = MM_valUsername
        If (MM_fldUserAuthorization <> "") Then
          Session("MM_UserAuthorization") = CStr(MM_rsUser.Fields.Item(MM_fldUserAuthorization).Value)
        ElseIf (MM_fldDynamicRedirect <> "") Then
          MM_redirectLoginSuccessDynamic = CStr(MM_rsUser.Fields.Item(MM_fldDynamicRedirect).Value)
        Else
          Session("MM_UserAuthorization") = ""
        End If
        if CStr(Request.QueryString("accessdenied")) <> "" And false Then
          MM_redirectLoginSuccessDynamic = Request.QueryString("accessdenied")
        End If
        MM_rsUser.Close
        Response.Redirect(MM_redirectLoginSuccessDynamic)
      End If
      MM_rsUser.Close
      Response.Redirect(MM_redirectLoginFailed)
    End If
    %>

  4. #4

    AW: ASP Login Benutzerebene anpassen

    Anzeigen:
    Hallo Gudula,

    vielen Dank für deine Mühe.

    Ich vergleiche folgende Daten User und Password dadurch wird der Pfad welcher in der Spalte link1 hinterlegt ist zum User / Berechtigungsseite zugewiesen bzw weitergeleitet.

    VLG
    Frank

Similar Threads

  1. Oberfläche des IE7 anpassen
    By paul_le in forum Dreamworker's Café
    Replies: 0
    Last Post: 29.01.2007, 22:31
  2. Anfänger: Homepage anpassen!?
    By cyphR in forum Adobe Dreamweaver
    Replies: 1
    Last Post: 28.09.2006, 10:33
  3. nach Login Weiterleitung auf unerschiedliche Seiten nach Login
    By nurion in forum Serverseitige Programmierung
    Replies: 1
    Last Post: 16.05.2006, 17:33
  4. Layout: grafik anpassen
    By Tonfrancis in forum Adobe Dreamweaver
    Replies: 8
    Last Post: 10.05.2005, 10:58
  5. CSS für NN7.8 anpassen?
    By crowsname in forum Statisches X/HTML & CSS
    Replies: 9
    Last Post: 17.05.2003, 11:34

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •