Невозможно войти в систему

Невозможно войти в систему

от Эдуард Галиаскаров -
Количество ответов: 4

Неожиданно возникли массовые проблемы входа в учебный центр на базе moodle (3+). Судя по коды и изменениям  -это должно было произойти гораздо раньше, но видимо все данные где-то кэшировались, но в определенный момент произошло обновление кэша. 

В результате пользователи пытаются логиниться, но неудачно а после 5 попытки и блокируется. Покопавшись в обновлениях и коде, казалось бы устранили проблему. Но почему-то не полностью.

Я регулярно утром пытаясь войти, наталкиваюсь на сообщение "Неверный логин или пароль, попробуйте заново."  При этом я не делаю 5 попыток войти, чтобы меня блокировало. Если блокировка и происходит, то без моего участия.

Совершенно неясна причина отказа в авторизации, подобное наблюдается и для других пользователей, если судить по логу.

Кто-то сталкивался с подобным, как чинить?

В ответ на Эдуард Галиаскаров

Re: Невозможно войти в систему

от Vadim Tabunshchik -
Изображение пользователя Developers

Проверьте, где хранятся сессии пользователей: в базе данных, на диске. И какого размера создается файл. При нехватке места на жестком диске/разделе (неверно выставленных правах на каталог) файл создается нулевого размера, отсюда невозможность авторизации.

В ответ на Vadim Tabunshchik

Re: Невозможно войти в систему

от Эдуард Галиаскаров -

Проблема решена. Хранение у нас в базе, потому пришлось поставить режим внешний базы View. До этого регистрация бралась из какой-то таблицы и после авторизации пароль очищался, и повторная авторизация приводила к фейлу естественно.

Три дня боролись разбираясь по коду, сегодня все -таки нашли как все разрешить. Но другая проблема. У нас регистрация аккаунтов производится во внешнем сервисе, далее все записывается кроном в таблицы moodle, но пользователь для записи на курсы становился доступным только после его авторизации, т.е. крон синхронизация в этом случае перестала работать и главное нет подобного параметра в настройках, чтобы можно было синхронизировать с данными из db. Пришлось писать свою синхронизацию и делать запись напрямую.

Попытка обеспечения безопасности понятна, но что-то moodle перемудрил.

В ответ на Эдуард Галиаскаров

Re: Невозможно войти в систему

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

Для синхронизации всех пользователей кроном нужно или настроить на крон запуск /auth/db/cli/sync_users.php или настроить запуск в планировщике moodle запуск \auth_ldap\task\sync_task (3.3 и выше). Если всё правильно настроено, moodle сам заберет все нужные данные из внешней системы.

Ну а для полноценной диагностики необходимо четкое описание архитектуры ваших систем, что где хранится, когда и как передаётся.