БД CRM

БД CRM

от MIke Karotkih -
Количество ответов: 5

 Нужен механизм, который позволит пользователям при регистрации добавляться не только в БД moodle, но и в БД CRM. Мне это видится, что CRM будет изменять какой-нибудь параметр в базе moodle, который отвечает за права доступа. Подскажите как такое реализовать.

В ответ на MIke Karotkih

Re: БД CRM

от Vadim Dvorovenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода

Вариантов несколько. 

1. Пишите собственный модуль аутентификации на основе существующего. Там есть функции, которые должны вызываться после регистрации или подтверждения пользователя. Тогда из moodle вы пишите в свою crm в том виде, как хотите.

2. Обращаетесь регулярно из crm в базу moodle. В табилице с пользователями есть поле с датой регистрации, поэтому вы всегда сможете отобрать только тех пользователей, которые зарегистрировались с прошлого обновления. Но в moodle пароль хранится в шифрованном виде, поэтому в таком случае вы не сможете выдать в crm пользователю такой же пароль как в moodle.

3. Настраиваете в moodle авторизацию по базе данных crm (есть модуль аутентификации по внешней бд) и создаёте пользователей не в moodle, а в crm

Можно ещё много чего придумать

В ответ на Vadim Dvorovenko

Re: БД CRM

от MIke Karotkih -

так а можно просто при регистрации пользователя сделать инсерт в базу moodle и в базу crm одновременно ?

В ответ на MIke Karotkih

Re: БД CRM

от Vadim Dvorovenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода

Да, можно, если у вас есть возможность писать из moodle в базу crm. В этом случае вам лучше всего скопировать тот модуль (в папке auth), в котором происходит регистрация в отдельную папку (у вас исходная, вероятно, email или manual, а свою назовите как хотите), исправляете, везде где встречается в коде, название модуля на своё, дописываете свои действия в конец функции user_confirm или user_signup. Также можно дописать подправить user_update_password, чтобы обновлять пароли одновременно в обоих базах и user_update, чтобы обновлять данные типа фамилии или логина. Прототип со всеми функциями находится в /lib/authlib.php. 

В ответ на MIke Karotkih

Re: БД CRM

от Alexandre Scherbyna -

Для ведения базы данных пользователей и их аутентификации есть популярный стандарт - LDAP. Не только Moodle, но и многие другие системы поддерживают аутентификацию и Технологию единого входа (Single Sign-On) через один общий LDAP.