DevTrain Startseite Visual Studio 1 Magazin  
  
  
SUCHEN:  
ARTIKEL ONLINE: 525   

Kategorien
.NET
Datenbanken
Web
XML

Allgemein
Camp
Foren
Events
Persönliche Einstellungen
Registrieren
Prämien Shop
Kontakt
Impressum
Über DevTrain

Autoren


   Autor: Hannes Preishuber Artikel Drucken
        
Passwort Check mit ADSI direkt auf NT Domain

Seit Windows NT habe die Verzeichnisdienste Bedeutung erlangt. Man spricht plötzlich von Directorys wie z.B. LDAP. Um auf NT Informationen einfach zuzugreifen, hat MS ein Addon namens ADSI (Active Directoy Service Interface) geschaffen. Obwohl der Name es vermuten lässt hat ADSI zunächst nichts mit Active Driectory zu tun, sondern liefert die API zum Zugriff auf diese Information.
Bei Windows NT 4.0 muss ADSI extra installiert werden. Bei Windows2000 ist das alles bereits Bestandteil des Betriebsystems.

Die aktuelle ADSI 2.5 Version liegt dem Artikel bei.

Wie schon aus anderen Artikeln auf Devtrain ersichtlich, wird der provider "WinNT" verwendet. Wir wollen nun zeigen wie man eine Benutzeranmeldung aus dem Browser über die Verzeichnisinformation handeln kann. Sie sparen Sich dabei die eigene Datenbank für das speichern der Userinfo.Zunächst bauen wir ein einfaches Formular mit Usernamen und Password. Diese Eingabe wird gegen den WinNT ADSI Provider verfiziert. Der Username muss immer in der Form "Domain/User" angegeben werden. Deshalb belegen wir diese in der Input Box vor.
Ebenso muss die Domain angegeben werden in der der Benutzer verwaltet wird um per ADSI die Abfrage zu machen.

  set oIIS = oADSI.OpenDSObject("WinNT://DomainName" , sUser, sPassword,0)

Wenn das Objekt zugewiesen werden konnte, war die Anmeldung erfolgreich. Über das Error Object kann der Fehlerfall behandelt werden. Durch ein Post auf eigene ASP Siete kann dort die Formularbehandlug erfolgen

Anbei der komplette Code.

<%@ Language=VBScript %>
<HTML>
<BODY>
<%
dim sComputerName
dim sUser, sPassword
sComputerName = "mycomputer"
sUser = Request.Form("user")
sPassword = Request.Form("password")

if sUser <> "" then
  set oADSI = GetObject("WinNT:")
on error resume next
  set oIIS = oADSI.OpenDSObject("WinNT://DomainName" , sUser, sPassword,0)
  if err.number = 0 then
    Response.Write "Logon OK.<BR>"
  else
    Response.Write "Logon fehlgeschlagen.<BR>"
  end if

end if
%>
<FORM action=logon.asp method=post>
<TABLE BORDER=1>
<TR><TH>
User</TH><TD>
<INPUT type="text" name=user VALUE="DomainName">
</TD></TR>
<TR><TH>
Password</TH><TD>
<INPUT type="password" name=password>
</TD></TR>
</TABLE>
<INPUT type="submit" value="Submit" id=submit1 name=submit1>
<INPUT type="reset" value="Reset" id=reset1 name=reset1>
</FORM>
</BODY>
</HTML>

 

www.microsoft.com/adsi

 


DevTrain Camp - Schneller zum .NET 3.5 Developer
 
Verwandte Artikel      Verlinkte Dokumente
    Keine verknüpften Dokumente

  Erfasst am: 30.04.2001
  Gültig bis: 30.05.2001
14 Ratings
Bewertung: 80,0%
schlecht    sehr gut  

 
© Copyright 2007 ppedv AG