tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
1212
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    virtualsix virtualsix ist offline Mitglied
    Registriert seit
    Dec 2001
    Beiträge
    12
    hi all,

    weiß jemand wie ich die Gruppe des Benutzers auslesen kann ?
    wie man Benutzer aus der Domain und pass ausliest is ´ned allzuschwer aber die Gruppe ?


    benutzername = Request.ServerVariables("AUTH_USER")
    kennwort = Request.ServerVariables("AUTH_PASSWORD")
    typ = Request.ServerVariables("AUTH_TYPE")
     

  2. #2
    Avatar von René Paschold
    René Paschold René Paschold ist offline Mitglied Brokat
    Registriert seit
    Jan 2002
    Ort
    Straubenhardt
    Beiträge
    451
    Suchen Sie nach einer einfachen Möglichkeit Windows NT/2000 Benutzerkonten mittels ASP zu verwalten? Wenn ja, dann bietet dieser Artikel genau das, wonach Sie suchen. Die heute vorgestellte AspUser Komponente bietet die Möglichkeit Benutzerkonten lokal oder auf einem Remote Server zu managen - natürlich auch Domänenbenutzerkonten. Der heutige Artikel beschreibt die grundlegendsten Funktionen der Komponente - also das Anlegen und Konfigurieren eines Benutzerkontos, sowie dessen Löschung.

    Die 30-Tage Evaluierungsversion der AspUser 1.1 Komponente von Persits Software, Inc. können Sie hier kostenlos downloaden. Die Komponente kann per Server oder per Enterprise erworben werden, was sich auch auf den Preis entsprechend auswirkt.

    Anlegen eines Benutzerkontos
    Die Komponente ist sehr komfortabel und der Programmieraufwand ist gering. Nach der Installation sind eigentlich schon alle Vorbereitungen für die Erstellung einer ASP Account Management Seite getroffen. Beginnen wir also gleich mit der Besprechung des Sourcecodes. Mit dem vorbereiteten Beispielscript können Sie einen neuen Benutzer anlegen und die wichtigsten Optionen für das Konto setzen. Das Script legt den neuen Benutzer am lokalen Server an. Natürlich kann man das Script leicht abändern um neue Benutzer auf einem anderen Server als dem lokalen zu erstellen.

    Set AspUser = Server.CreateObject("Persits.AspUser")
    AspUser.LogonUser "", "Administrator", "ValidPWDHere"

    Zuerst müssen wir uns einloggen um überhaupt ein Konto erstellen zu können. Die Parameterreihenfolge ist DomainName, Benutzer, Paßwort. Wie ich schon erwähnt habe, logge ich mich am lokalen Server ein - daher bleibt auch der Domainname leer.

    Bevor ich nun die Eingabewerte der Komponente übergebe, validiere ich die Eingaben gegen die wichtigsten Anforderungen. Hier überprüfe ich ob der Benutzer bereits angelegt wurde:

    For Each User In AspUser.LocalUsers
    If Request("Name") = User.Name Then
    Response.Write "User already exists"
    Response.End
    End If
    Next

    Es folgen Validierungen auf die Gültigkeit des Paßwortes:

    If Request("PWD") = "" And Request("CannotChangePwd") = 1 Then
    Response.Write "Settings require to enter a password"
    Response.End
    End If

    Wenn die Einstellung User Cannot Change Password gesetzt wurde, verlange ich zwingend nach einem Paßwort. Ohne Paßwort habe ich eigentlich nichts auf Windows NT/2000 verloren.

    Beherzigen Sie das eben festgestellte - jedem Benutzer sein Paßwort - dann können Sie durch eine strikte Forderung nach einer bestimmten Paßwortlänge den vorigen Code durch diesen ersetzen:

    If Len(Request("PWD")) < 8 Then
    Response.Write "Password must have at least 8 chars"
    Response.End
    End If

    Für den Fall, daß man sich vertippt hat, und das Paßwort mit der Bestätigung nicht übereinstimmt, so wird dies durch folgende Validierung berücksichtigt:

    If Request("PWD") <> Request("CPWD") Then
    Response.Write "Password confirmation failed."
    Response.End
    End If

    Nun übergeben wir die Eingabewerte der Komponente, die daraufhin das Benutzerkonto anlegt:

    Set NewUser = AspUser.AddLocalUser(Request("Name"), Request("PWD"), Request("Description"))

    NewUser.Fullname = Request("Fullname")
    NewUser.MustChangePassword = (Request("MustChangePwd") <> "")
    NewUser.CannotChangePassword = (Request("CannotChangePwd") <> "")
    NewUser.PasswordNeverExpires = (Request("PwdNeverExpires") <> "")
    NewUser.Accountdisabled = (Request("Disabled") <> "")
    NewUser.AddToGroup(Request("MemberOf"))
    NewUser.SetInfo

    Nach erfolgreicher Erstellung des neuen Kontos wir ddiese Meldung mit Hinweis auf den Benutzernamen ausgegeben:

    Response.Write "User <b>" & Request("Name") & "</b> added.<hr>"

    Da die ASP Seite auf sich selbst einen PostBack tätig, können Sie nun weitere Benutzer eingeben. Der nächste Screenshot zeigt die auf einem Server ausgeführte AddUser.asp Datei mit bereits eingegebenen Daten.

    Löschen eines Benutzers
    Es soll vorkommen, daß manche Konten nicht mehr gebraucht werden und aus Sicherheitsgründen nicht einfach deaktiviert werden können, sondern gänzlich gelöscht werden müssen. Für diesen Fall ist folgendes ASP-Script zuständig (DeleteUser.asp):

    Set AspUser = Server.CreateObject("Persits.AspUser")
    AspUser.LogonUser "", "Administrator", "ValidPWDHere"

    If Request("Delete") <> "" Then
    AspUser.DeleteLocalUser Request("Users")
    End If

    Die endgültige Löschung erfolgt durch die DeleteLocalUser Methode und Angabe des Benutzernamens. In diesem Script habe ich auf triviale Weise vermieden, daß die standardmäßig installierten Konten bei der Auswahl angezeigt werden:

    <select NAME="Users">
    <option selected>-Select User-</option>
    <%
    For Each User in AspUser.LocalUsers
    If InStr(User.Comment,"account") = 0 Then
    %>
    <option><%= User.Name %></option>
    <%
    End If
    Next
    %>
    </select>
     
    René Paschold
    .NET Trainer / Consultant / Developer
    WebLog http://www.rene-paschold.de/

    "The World Is Not Enough!"

  3. #3
    Avatar von René Paschold
    René Paschold René Paschold ist offline Mitglied Brokat
    Registriert seit
    Jan 2002
    Ort
    Straubenhardt
    Beiträge
    451
    Denn ganzen Artikel findest du unter www.aspheute.com wenn du nach Benutzerverwaltung suchst!

    Gruß
    Fatility
     
    René Paschold
    .NET Trainer / Consultant / Developer
    WebLog http://www.rene-paschold.de/

    "The World Is Not Enough!"

Ähnliche Themen

  1. Letzten Wert aus einer Gruppe (group by) auslesen
    Von incubus77 im Forum Relationale Datenbanksysteme
    Antworten: 8
    Letzter Beitrag: 10.12.09, 15:34
  2. Secure WebserviceCommunication
    Von phi_2k im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 7
    Letzter Beitrag: 14.11.07, 11:06
  3. Antworten: 0
    Letzter Beitrag: 16.05.07, 13:24
  4. Antworten: 3
    Letzter Beitrag: 22.06.04, 21:16
  5. secure ftp mit php
    Von südpol im Forum PHP
    Antworten: 2
    Letzter Beitrag: 12.05.03, 13:57