iTop ITSM & CMDB по-русски

Интеграция itop и active directory


#32

Нет ничего проще, нужно просто переписать класс UserLDAP таким образом, чтобы он мог работать с несколькими наборами настроек AD.


#33

Помогите это сделать!


#34

Владимир, а где, в каком месте, в каком файле описывается класс UserLDAP?


#35

Вот накидал:

После установки в конфиге будет так:

'knowitop-multi-ldap-auth' => array (
    'debug' => false,
    'ldap_settings' => array(
        'default' => array(
            'host' => 'localhost',
            'port' => 389,
            'default_user' => '',
            'default_pwd' => '',
            'base_dn' => 'dc=yourcompany,dc=com',
            'user_query' => '(&(uid=%1$s)(inetuserstatus=ACTIVE))',
            'options' => array(
                LDAP_OPT_PROTOCOL_VERSION => 3,
                LDAP_OPT_REFERRALS => 0,
            ),
            'start_tls' => false,
        )
    )
),

А в пользователях так:
image

P.S. Должно работать, но LDAP под рукой нет, так что это не точно)


#36

Владимир, будьте добры, уточните пожалуйста, а как папку называть перед установкой с вашим набором файлов, “knowitop-multi-ldap-auth” ?
И что вписывать в поле “Название набора параметров LDAP” (dc=domain,dc=com?)?
Смысл того что я писал в том, чтобы при создании нового пользователя LDAP в меня выбирать “Пользователь LDAP1”, “Пользователь LDAP2”, где уже настройки LDAP прописаны к тому или иному LDAP серверу.
Могу только догадываться, но мне кажется что при импорте может захотеть чтобы указал к какому LDAP пользователь принадлежит, наподобие с Профайлом пользователя при импорте.
Сейчас попробую, отпишусь о результате. Ваше средство конечно универсальнее, если все так как я думаю.


#37

Владимир, на этапе Configuration Managment options выдает:
Parse error: syntax error, unexpected ‘<’ in …\setup\modulediscovery.class.inc.php(446) : eval()'d code on line 7.

Если дальше пойти устанавливать, то на этапе Ready to Install в списке Data Model Configuration нет модуля knowitop-multi-ldap-auth.
И при компиляции ту же ошибку выдает. на < ругается.


#38

Скопировал папку toolkit в корень, зашел по адресу. На первой закладке да и на всех остальных крутит статус Checking the consistency of the data model definition…
Это нормально или нет?


#39

Нет, все это совсем не нормально. Мне кажется, ты чего-то не того наворотил в extensions, попробуй удалить все модули, кроме knowitop-multi-ldap-auth, или вообще на чистом айтопе попробовать. Проверь права веб-сервера на директорию с айтопом, а лучше – дай полные права для проверки.
Для установки и работы модуля обязательно должен стоять php-ldap.


#40

Да

В конфиге внутри ldap_settings аналогично default задаются другие массивы параметров LDAP, дальше название массива указывается у пользователя.


#41

А knowitop-multi-ldap-auth в /datamodels/2.x/ записывать?
Это я просто уже осторожничаю.


#42

Нет конечно!!! Всё только в extensions!


#43

Про редактирование этого вообще нужно забыть!
Подумаю над тем, чтобы банить безвозвратно тех, кто рекомендует что-то в этой папке подправить)


#44

Владимир, можете еще вот это пояснить, зачем нужно и что с ним делать?

Notice: Undefined variable: iCode in …\itop\core\cmdbsource.class.inc.php on line 731

Приходится просто убирать iCode из файла и потом без него нормально идет.


#45

Видимо, разрабы забыли объявить переменную iCode. Сообщение уровня Notice не должно ломать работу системы, можно в настройках php изменить уровень логирования, чтобы они не выводились вообще.

Можно на строку выше добавить $iCode = $e->getCode();.


#46

Владимир, я вам отправил личное сообщение, посмотрите пожалуйста.


#47

По поводу логов и ошибок в php посмотрел.
В журнал пишет:

Summary

Не удается найти описание для идентификатора события 4 из источника PHP-5.6.31. Вызывающий данное событие компонент не установлен на этом локальном компьютере или поврежден. Установите или восстановите компонент на локальном компьютере.

Если событие возникло на другом компьютере, возможно, потребуется сохранить отображаемые сведения вместе с событием.

К событию были добавлены следующие сведения:

php[3592]
PHP Warning: PHP Startup: Unable to load dynamic library ‘C:\Program Files (x86)\iis express\PHP\v5.6\ext\php_wincache.dll’ - пїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅ.
(“C:\Program Files (x86)\iis express\PHP\v5.6\php-cgi.exe”)

В логе PHP:
PHP Fatal error: Class ‘DBSearch’ not found in C:\www\helpdesk\core\dbobjectsearch.class.php on line 24

В 24 строке “{”, начало описания class DBObjectSearch extends DBSearch.
Скриншот прилагаю.
Можете подсказать что ему не нравится в 24 строке?


#48

Аутентификация через LDAP пока не работает. Проверил. Скорее всего из-за web.config (.htaccess). Пока не могу понять что там надо прописать чтобы доступ был пользователям из 2-х подсетей.


#49

Поправил ошибки всякие системные. Теперь все ок. Пользователи с обоих AD залогиниваются.
В php ошибки перестали сыпаться.
Спасибо огромное.

Единственное, что при импорте пользователей нужно сейчас еще Названия параметров LDAP отдельным полем каждому добавлять.
Сейчас как раз занимаюсь импортом и причесыванием данных пользователей.
Кстати, момент такой есть, если есть пользователи с одинаковыми логинами в разных AD, то второго создать не даст, ссылаясь на уникальность. Вообщем то не страшно, но в определенных случаях доставлять неудобства может.
PS: toolkit пока не фурычит, но это не страшно. Позже допилю. Там что-то в настройках веб сервера и модулей для него.


#50

Кто может подсказать, почему нет выбора при создании пользователя? Есть Внешний пользователь, пользователь iTop, а LDAP нет, в конфиге прописывал

'authent-ldap' => array (
	'host' => '10.7.107.10',
	'port' => 389,
	'default_user' => 'UN',
	'default_pwd' => 'PWD',
	'base_dn' => 'DC',
	'user_query' => '(samaccountname=%1$s)',
	'options' => array (
	  17 => 3,
	  8 => 0,
	),

#51

Модуль knowitop-multi-ldap-auth стоит? Что ещё стоит?