Dropdownbox vullen uit AD dmv LDAP
Hierbij moet er ingelogd kunnen worden op de website dmv AD gegevens.
Dit heb ik voorelkaar gekregen met LDAP & adLDAP.
Alleen nu moet een dropdownbox worden gevuld met de user uit AD, ik heb geen idee hoe ik dit zou moeten doen!
Normaal gesproken zou ik dit doen met een query en while:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<select size="1" name="medewerker">';
$werknemers=mssql_query("SELECT * FROM gebruikers ORDER by g_achternaam ASC");
while ($werknemer=mssql_fetch_object($werknemers))
{
echo'<option '; if($_SESSION['user_id'] == $werknemer->gebruikerID)
{echo 'selected="selected"';} echo 'value="'.$werknemer->gebruikersnaam.'">'.$werknemer->gebruikersnaam.'</option>';
}echo'
</select>
$werknemers=mssql_query("SELECT * FROM gebruikers ORDER by g_achternaam ASC");
while ($werknemer=mssql_fetch_object($werknemers))
{
echo'<option '; if($_SESSION['user_id'] == $werknemer->gebruikerID)
{echo 'selected="selected"';} echo 'value="'.$werknemer->gebruikersnaam.'">'.$werknemer->gebruikersnaam.'</option>';
}echo'
</select>
Iemand enig idee hoe ik dit kan oplossen?
Gewijzigd op 19/05/2010 13:04:34 door Kjeld Hogenkam
hier even naar kijken hoe hij dat daar doet. Staat genoeg informatie in!
Zou Over het inloggen wel, maar dat gedeelte heb ik werkend. Hoe kan ik alle user uit bepaalde groep opvragen in in dropdownbox zetten?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php // Kleurtjes..
$domeinserver = "domainserver";
$domein = "domain";
$usergroep = "CN=USERGROUP,OU=EU,DC=domain,DC=com";
$ds=ldap_connect($domeinserver);
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ds, LDAP_OPT_REFERRALS, 0);
// hier inloggen met een administrator volgens mij?
$r = @ldap_bind($ds, $domein."\\".$username, $password);
if ($r) {
$sr= ldap_search($ds, $usergroep, "CN=*");
$info = ldap_get_entries($ds, $sr);
for ($i=0; $i<$info["count"]; $i++) {
for ($b=0; $b<count($info[0]["member"])-1; $b++) {
$zoek = $info[0]["member"][$b];
$nr=ldap_search($ds, $zoek, "CN=*");
$ninfo = ldap_get_entries($ds, $nr);
$userstring = $ninfo[0][userprincipalname][0];
list($loginnaam, $achterstuk) = split('[@]', $userstring);
echo $loginnaam.' is een gebruiker =)';
}
}
} else { echo "Onvoldoende rechten om de AD aan te roepen!" ; }
ldap_close($ds);
[/code]
Zal hem zometeen zelf eens testen hier..
$domeinserver = "domainserver";
$domein = "domain";
$usergroep = "CN=USERGROUP,OU=EU,DC=domain,DC=com";
$ds=ldap_connect($domeinserver);
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ds, LDAP_OPT_REFERRALS, 0);
// hier inloggen met een administrator volgens mij?
$r = @ldap_bind($ds, $domein."\\".$username, $password);
if ($r) {
$sr= ldap_search($ds, $usergroep, "CN=*");
$info = ldap_get_entries($ds, $sr);
for ($i=0; $i<$info["count"]; $i++) {
for ($b=0; $b<count($info[0]["member"])-1; $b++) {
$zoek = $info[0]["member"][$b];
$nr=ldap_search($ds, $zoek, "CN=*");
$ninfo = ldap_get_entries($ds, $nr);
$userstring = $ninfo[0][userprincipalname][0];
list($loginnaam, $achterstuk) = split('[@]', $userstring);
echo $loginnaam.' is een gebruiker =)';
}
}
} else { echo "Onvoldoende rechten om de AD aan te roepen!" ; }
ldap_close($ds);
[/code]
Zal hem zometeen zelf eens testen hier..
Deze hier ook niet (verander overigens user@domain naar domain\\user!) maar kan ook aan hier liggen...
Edit: Dit had natuurlijk gewoon in 1 bericht gemoeten ;-)
Werkte niet echt. Edit: Dit had natuurlijk gewoon in 1 bericht gemoeten ;-)
Gewijzigd op 19/05/2010 14:00:34 door Chris -