Hallo Zusammen!
Ich habe eine kurze frage zu LDAP. Erfolgreich konnte ich schon ein Programm optimieren, was in Form von einem Formular läuft. es ist jedeglich eine ldap abfrage wo man gruppen oder user suchen kann. jetz will ich das Browsermäßig ausgeben lassen damit die Mitarbeiter in der Firma auch davon was haben, kann mir da einer helfen? klingt einfacher als es ist?! danke im voraus
Programmieren tue ich mit VB.NET 2003 und .NET 1.1
Hier ist das Programm als Bild: http://img232.imageshack.us/img232/638/90086434tj5.jpg
Hier der Quellcode:
Public Class Form1
Inherits System.Windows.Forms.Form
#Region " Vom Windows Form Designer generierter Code "
Public Sub New()
MyBase.New()
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.txtResult = New System.Windows.Forms.TextBox
Me.btnSuchen = New System.Windows.Forms.Button
Me.TreeView = New System.Windows.Forms.TreeView
Me.txtSuche = New System.Windows.Forms.TextBox
Me.StatusBar1 = New System.Windows.Forms.StatusBar
Me.SuspendLayout()
'
'txtResult
'
Me.txtResult.Font = New System.Drawing.Font("Courier New", 8.25!, _
System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, _
CType(0, Byte))
Me.txtResult.Location = New System.Drawing.Point(24, 304)
Me.txtResult.Multiline = True
Me.txtResult.Name = "txtResult"
Me.txtResult.ScrollBars = System.Windows.Forms.ScrollBars.Both
Me.txtResult.Size = New System.Drawing.Size(704, 216)
Me.txtResult.TabIndex = 9
Me.txtResult.Text = ""
Me.txtResult.WordWrap = False
'
'btnSuchen
'
Me.btnSuchen.Name = "btnSuchen"
Me.btnSuchen.TabIndex = 10
Me.btnSuchen.Text = "&Suchen"
'
'TreeView
'
Me.TreeView.ImageIndex = -1
Me.TreeView.Name = "TreeView"
Me.TreeView.SelectedImageIndex = -1
Me.TreeView.TabIndex = 11
'
'txtSuche
'
Me.txtSuche.Name = "txtSuche"
Me.txtSuche.TabIndex = 12
Me.txtSuche.Text = "(cn=*)"
'
'Form1
'
Me.Controls.Add(Me.txtSuche)
Me.Controls.Add(Me.TreeView)
Me.Controls.Add(Me.btnSuchen)
Me.Controls.Add(Me.txtResult)
Me.FormBorderStyle = _
System.Windows.Forms.FormBorderStyle.FixedToolWindow
Me.Name = "Form1"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = " "
Me.ResumeLayout(False)
End Sub
#End Region
Private Sub btnSuchen_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles btnSuchen.Click
Dim de As DirectoryEntry
Dim obj, objProp As Object
Dim searcher As DirectorySearcher
Dim sr As SearchResultCollection
Dim res As SearchResult
Dim tn As TreeNode
txtResult.Text = ""
TreeView.Nodes.Clear()
tn = TreeView.Nodes.Add("Root")
Try
If txtUser.Text.Length > 0 Then
de = New DirectoryEntry("LDAP://" & txtServer.Text & "/" & _
txtPfad.Text, AuthenticationTypes.ServerBind)
Else
de = New DirectoryEntry("LDAP://" & txtServer.Text & "/" & txtPfad.Text)
End If
searcher = New DirectorySearcher(de)
searcher.Filter = txtSuche.Text '"(&(objectClass=person)(cn=*)"
'searcher.SearchScope = SearchScope.OneLevel
sr = searcher.FindAll
For Each res In sr
tn.Nodes.Add(res.Path).Tag = res
Next
tn.ExpandAll()
Catch ex As Exception
txtResult.Text &= ex.Message
End Try
End Sub
Private Sub TreeView_AfterSelect(ByVal sender As System.Object, ByVal e As _
System.Windows.Forms.TreeViewEventArgs) Handles TreeView.AfterSelect
Dim NStr As String
Dim obj As Object
Try
If Not e.Node.Tag Is Nothing Then
txtResult.Text = e.Node.Text & vbCrLf
For Each NStr In CType(e.Node.Tag, _
SearchResult).Properties.PropertyNames
txtResult.Text &= vbCrLf & "--+-> " & NStr & vbCrLf
For Each obj In CType(e.Node.Tag, SearchResult).Properties(NStr)
txtResult.Text &= " |__ " & obj.ToString & vbCrLf
Next
Next NStr
End If
Catch ex As Exception
txtResult.Text &= ex.Message
End Try
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles MyBase.Load
End Sub
End Class |