Регистронезависимый логин#
Общие сведения#
До выхода версии 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.
Настройте следующие переменные:
CS_URL- URL REST API Platform V Works::CodeScanner;AUTH_HEADER- токен для авторизации.
Активируйте скрипт:
source cs_users.shВызовите функцию получения логинов всех пользователей:
cs_all_user_loginsЕсли настройка параметров проведена корректна, то получим значения всех логинов пользователей.
Выполните команду для проверки логинов которые конфликтуют по нижнему регистру
cs_all_user_logins | sort | uniq -d
Результат#
Если в результате выполнения команды выводятся пустые результаты, продолжайте обновление. Если обнаруживаются дублирующие логины, устраните их вручную через пользовательский интерфейс Platform V Works::CodeScanner.