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:
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:
Code:
Public Class Form1 Inherits System.Windows.Forms.Form #Region " Vom Windows Form Designer generierter Code " Public Sub New() MyBase.New() Friend WithEvents Label1 As System.Windows.Forms.Label Friend WithEvents Label2 As System.Windows.Forms.Label Friend WithEvents txtServer As System.Windows.Forms.TextBox Friend WithEvents txtPfad As System.Windows.Forms.TextBox Friend WithEvents txtResult As System.Windows.Forms.TextBox Friend WithEvents btnSuchen As System.Windows.Forms.Button Friend WithEvents TreeView As System.Windows.Forms.TreeView Friend WithEvents Label5 As System.Windows.Forms.Label Friend WithEvents txtSuche As System.Windows.Forms.TextBox Friend WithEvents StatusBar1 As System.Windows.Forms.StatusBar <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() Me.Label1 = New System.Windows.Forms.Label Me.Label2 = New System.Windows.Forms.Label Me.txtServer = New System.Windows.Forms.TextBox Me.txtPfad = New System.Windows.Forms.TextBox 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.Label5 = New System.Windows.Forms.Label Me.StatusBar1 = New System.Windows.Forms.StatusBar Me.SuspendLayout() ' 'Label1 ' Me.Label1.Location = New System.Drawing.Point(8, 16) Me.Label1.Name = "Label1" Me.Label1.Size = New System.Drawing.Size(72, 16) Me.Label1.TabIndex = 0 Me.Label1.Text = "LDAP Server" ' 'Label2 ' Me.Label2.Location = New System.Drawing.Point(8, 40) Me.Label2.Name = "Label2" Me.Label2.Size = New System.Drawing.Size(72, 16) Me.Label2.TabIndex = 1 Me.Label2.Text = "Pfad" ' 'txtServer ' Me.txtServer.Location = New System.Drawing.Point(88, 16) Me.txtServer.Name = "txtServer" Me.txtServer.Size = New System.Drawing.Size(440, 20) Me.txtServer.TabIndex = 4 Me.txtServer.Text = "LDAP:// " ' 'txtPfad ' Me.txtPfad.Location = New System.Drawing.Point(88, 40) Me.txtPfad.Name = "txtPfad" Me.txtPfad.Size = New System.Drawing.Size(440, 20) Me.txtPfad.TabIndex = 5 Me.txtPfad.Text = "OU= " ' '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.Location = New System.Drawing.Point(80, 544) Me.btnSuchen.Name = "btnSuchen" Me.btnSuchen.Size = New System.Drawing.Size(520, 24) Me.btnSuchen.TabIndex = 10 Me.btnSuchen.Text = "&Suchen" ' 'TreeView ' Me.TreeView.ImageIndex = -1 Me.TreeView.Location = New System.Drawing.Point(24, 136) Me.TreeView.Name = "TreeView" Me.TreeView.SelectedImageIndex = -1 Me.TreeView.Size = New System.Drawing.Size(704, 152) Me.TreeView.TabIndex = 11 ' 'txtSuche ' Me.txtSuche.Location = New System.Drawing.Point(88, 112) Me.txtSuche.Name = "txtSuche" Me.txtSuche.Size = New System.Drawing.Size(440, 20) Me.txtSuche.TabIndex = 12 Me.txtSuche.Text = "(cn=*)" ' 'Label5 ' Me.Label5.Location = New System.Drawing.Point(8, 112) Me.Label5.Name = "Label5" Me.Label5.Size = New System.Drawing.Size(72, 16) Me.Label5.TabIndex = 13 Me.Label5.Text = "Abfrage" ' 'StatusBar1 ' Me.StatusBar1.Location = New System.Drawing.Point(0, 570) Me.StatusBar1.Name = "StatusBar1" Me.StatusBar1.Size = New System.Drawing.Size(754, 22) Me.StatusBar1.TabIndex = 14 Me.StatusBar1.Text = "StatusBar1" ' 'Form1 ' Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.ClientSize = New System.Drawing.Size(754, 592) Me.Controls.Add(Me.StatusBar1) Me.Controls.Add(Me.Label5) Me.Controls.Add(Me.txtSuche) Me.Controls.Add(Me.TreeView) Me.Controls.Add(Me.btnSuchen) Me.Controls.Add(Me.txtResult) Me.Controls.Add(Me.txtPfad) Me.Controls.Add(Me.txtServer) Me.Controls.Add(Me.Label2) Me.Controls.Add(Me.Label1) 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