В настоящее время я занимаюсь разработкой приложения для доски объявлений, используя PHP. Теперь я хотел бы разрешить только сотрудникам добавлять в него данные, поэтому мне нужно выяснить, какой группой безопасности является текущий пользователь (в AD), например, у сотрудников есть своя собственная группа, а также у студентов. Я хотел бы использовать аутентификацию на основе Windows, чтобы получить свое имя пользователя и запросить его в группе AD. Я перепробовал все ответы, которые нашел, но ничего не помогло.
Пока у меня есть следующий код:
<?php
//Declare Vars
$domain = 'doamin.local';
$username = 'admin';
$password = "";
$ldapconfig['host'] = 'hostname';
$ldapconfig['port'] = 389;
$ldapconfig['basedn'] = 'dc=domain,dc=local';
$dn = 'dc=domain,dc=local';
//Connect to AD
$ds=ldap_connect($ldapconfig['host'], $ldapconfig['port']);
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ds, LDAP_OPT_REFERRALS, 0);
$bind=ldap_bind($ds, $username .'@' .$domain, $password);
if ($bind) {
echo "LDAP bind successful...";
//Query for group membership
$search = ldap_search($ds, $dn, "(samaccountname=w10student)", ['memberOf']);
$enr = ldap_get_entries($ds, $search);
} else {
echo "LDAP bind failed...";
}
print_r($enr);
?>
Теперь он печатает все группы в массив, мне нужно иметь if заявление, если массив содержит одну из групп, чтобы затем установить переменную. Любая помощь приветствуется
Большое спасибо,
Conor