Регистронезависимый логин#

Общие сведения#

До выхода версии 2.2.0 в Platform V Works::CodeScanner допускалось создание двух отдельных аккаунтов с логинами, отличающимися лишь регистром букв, например, MyUser и myuser. Однако, начиная с версии 2.2.0 реализована поддержка регистронезависимых логинов пользователей, в результате этого система не позволит создавать логины отличающиеся только регистром букв. Теперь при входе пользователя вводимый логин автоматически преобразуется в нижний регистр, что позволяет пользователям входить независимо от регистра символов.

Указанный подход имеет особенность при миграции базы данных.

При первом запуске Platform V Works::CodeScanner 2.2.0 будет произведена миграция логинов пользователей к нижнему регистру. Если имеются пользователи, конфликтующие логином по нижнему регистру, например MyUser и myuser, то только первый пользователь будет мигрирован, а второй - нет. С практической точки зрения это означает, что пользователь MyUser сможет входить независимо от регистра символов, тогда как пользователь myuser сможет войти исключительно с точно указанным именем — myuser.

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

Основные функции скрипта:

  • cs_users_json — получение списка пользователей в формате JSON;

  • cs_pages — вычисление количества страниц с пользователями;

  • cs_all_users — сборка полного списка пользователей постранично;

  • cs_all_user_logins — отображение списка логинов пользователей в нижнем регистре;

  • cs_all_users_csv — экспорт всей информации о пользователях в CSV-файл.

Особенности миграции#

Переход на новую версию требует соблюдения ряда правил, чтобы избежать возможных конфликтов:

  • Перед установкой версии 2.2.0 с более ранних обязательно проверьте базу данных на предмет наличия пользователей с одинаковым логином в разных регистрах. Для этого рекомендуется использовать специальный скрипт проверки cs_users.sh. Если обнаружены пользователи с такими логинами, их необходимо изменить через пользовательский интерфейс Platform V Works::CodeScanner перед установкой новой версии.

  • Обязательно создайте резервную копию базы данных перед началом процесса обновления, чтобы иметь возможность вернуться к предыдущей версии в случае возникновения непредвиденных ситуаций.

Последовательность выполнения#

Скрипт располагается в директории scripts.

  1. Настройте следующие переменные:

    • CS_URL - URL REST API Platform V Works::CodeScanner;

    • AUTH_HEADER - токен для авторизации.

  2. Активируйте скрипт:

    source cs_users.sh
    
  3. Вызовите функцию получения логинов всех пользователей:

    cs_all_user_logins

    Если настройка параметров проведена корректна, то получим значения всех логинов пользователей.

  4. Выполните команду для проверки логинов которые конфликтуют по нижнему регистру

    cs_all_user_logins | sort | uniq -d
    

Результат#

Если в результате выполнения команды выводятся пустые результаты, продолжайте обновление. Если обнаруживаются дублирующие логины, устраните их вручную через пользовательский интерфейс Platform V Works::CodeScanner.