Also bis jetzt habe ich nur mit ASP gearbeitet und soll jetzt neben ASP.Net auch Windows Anwendungen mit VB.NET programmieren
Also bitte Leicht zu verstehende Antworten da ich Anfängerin bin und Englisch kann ich auch nicht besonders….;-)
<br>
- Danke -
<br><br>
Also ich habe das bis jetzt erstmal in ASP gemacht und bekomme das da schon hin
Aber ich weiß einfach nicht wie ich das bei einer Windows Anwendung einbaue oder Abfrage…
Welche Bibliotheken, Klasse ich da einbinden muss…
<br><br>
Also ich habe eine Windows Form Anwendung….
Diese wird auf unseren Servern installiert und über Citrix Client von den Usern gestartet…
(interne Firmenumgebung die Anwender haben keine eigenen PCs)
<br><br>
Als erstes fang ich den Domänen Login ab mit
Dim Userlogon as String
Userlogon = System.Environment.UserName
<br>
(Bei ASP: Userlogon = Request.ServerVariables("LOGON_USER") )
<br><br>
So jetzt möchte ich Abfragen in welcher Gruppe der User unter LDAP (Win Server 2003) ist<br><br>
Ich habe meine Domäne und mein LDAP (wie gesagt das Grundprinzip kenne ich ja, ich das unter ASP Problem hinbekomme aber ASP kann man nicht einfach in Visual Basic. NET übernehmen)<br><br>
Ich habe den User der die Berechtigung hat auf LDAP zuzugreifen
(Entspricht nicht dem Benutzer der Anwendung):<br><br>
username = "meine-domaen\internetlady"
password = "123456"<br><br><br>
<u>Ich habe mein Select zum lessen aller meiner Gruppen:</u><br>
strContainer = "OU=Intranet,OU=Anwendungen,OU=Sicherheitsgrup pen"
domaenenname = "DC= meine-domaen,DC=de"<br><br>
"SELECT Name, CN FROM 'LDAP://" & strContainer & "," & domaenenname & "'" & _
" WHERE objectClass ='group' ORDER BY Name "<br><br><br>
<u>Dann mache ich noch so was (in ASP) ;-)
Um je Gruppe die Mitglieder zu erhalten (Code gekürzt):</u><br>
SET objRootDSE = GetObject("LDAP://rootDSE")
SET oADSI = GetObject("LDAP:")
FOR a = 0 TO anz_gruppen
strGrpName = Trim(arr_gruppen(a,0))
set objItem = oADSI.OpenDSObject("LDAP://cn=" & strGrpName & "," & strContainer & "," & objRootDSE.Get("defaultNamingContext"),username,pa ssword,1)
FOR EACH obj IN objItem.Members
IF Trim(obj.sAMAccountName) = Trim(Userlogon) THEN
In_gruppe_mitglied = "J"
usergesamtname = obj.cn
END IF
NEXT
NEXT
<br><br>
<b>
Aber wie sieht der Code in Visual Basic . NET aus ?
Was muss ich bei dem Projekt einstellen damit das geht ?
Welche “Datenverbindung“ muss man da nutzen (ist ja kein DB2 oder SQLServerDB der LDAP)?</b>
Nadine
Also bitte Leicht zu verstehende Antworten da ich Anfängerin bin und Englisch kann ich auch nicht besonders….;-)
<br>
- Danke -
<br><br>
Also ich habe das bis jetzt erstmal in ASP gemacht und bekomme das da schon hin
Aber ich weiß einfach nicht wie ich das bei einer Windows Anwendung einbaue oder Abfrage…
Welche Bibliotheken, Klasse ich da einbinden muss…
<br><br>
Also ich habe eine Windows Form Anwendung….
Diese wird auf unseren Servern installiert und über Citrix Client von den Usern gestartet…
(interne Firmenumgebung die Anwender haben keine eigenen PCs)
<br><br>
Als erstes fang ich den Domänen Login ab mit
Dim Userlogon as String
Userlogon = System.Environment.UserName
<br>
(Bei ASP: Userlogon = Request.ServerVariables("LOGON_USER") )
<br><br>
So jetzt möchte ich Abfragen in welcher Gruppe der User unter LDAP (Win Server 2003) ist<br><br>
Ich habe meine Domäne und mein LDAP (wie gesagt das Grundprinzip kenne ich ja, ich das unter ASP Problem hinbekomme aber ASP kann man nicht einfach in Visual Basic. NET übernehmen)<br><br>
Ich habe den User der die Berechtigung hat auf LDAP zuzugreifen
(Entspricht nicht dem Benutzer der Anwendung):<br><br>
username = "meine-domaen\internetlady"
password = "123456"<br><br><br>
<u>Ich habe mein Select zum lessen aller meiner Gruppen:</u><br>
strContainer = "OU=Intranet,OU=Anwendungen,OU=Sicherheitsgrup pen"
domaenenname = "DC= meine-domaen,DC=de"<br><br>
"SELECT Name, CN FROM 'LDAP://" & strContainer & "," & domaenenname & "'" & _
" WHERE objectClass ='group' ORDER BY Name "<br><br><br>
<u>Dann mache ich noch so was (in ASP) ;-)
Um je Gruppe die Mitglieder zu erhalten (Code gekürzt):</u><br>
SET objRootDSE = GetObject("LDAP://rootDSE")
SET oADSI = GetObject("LDAP:")
FOR a = 0 TO anz_gruppen
strGrpName = Trim(arr_gruppen(a,0))
set objItem = oADSI.OpenDSObject("LDAP://cn=" & strGrpName & "," & strContainer & "," & objRootDSE.Get("defaultNamingContext"),username,pa ssword,1)
FOR EACH obj IN objItem.Members
IF Trim(obj.sAMAccountName) = Trim(Userlogon) THEN
In_gruppe_mitglied = "J"
usergesamtname = obj.cn
END IF
NEXT
NEXT
<br><br>
<b>
Aber wie sieht der Code in Visual Basic . NET aus ?
Was muss ich bei dem Projekt einstellen damit das geht ?
Welche “Datenverbindung“ muss man da nutzen (ist ja kein DB2 oder SQLServerDB der LDAP)?</b>
Nadine
Comment