Формулировка проблемы: На данный момент минимальная длина логина установлена в фиксированное значение, равное "6".
Используется: Подсистема администрирования -> Настройки системы -> Безопасность, Клиентское приложение -> Настройки -> Параметры авторизации.
Решение:
Необходимо добавить возможность указания минимальной длины логина в
настройках безопасности, а именно расположить строку с лейблом
Минимальная длина логина
и поле для ввода
значения над строкой с лейблом
Минимальная длина пароля
.
Требования к редактируемому полю:
допустимые значения: целые числа от 1 (включительно) до 128 (включительно);
значение по умолчанию: текущее значение минимальной длины логина;
подсвечивать поле красным в случаях:
введено целое значение, меньшее 1 (0 и менее);
введено целое значение, большее 128 (129 и более);
введено не целое число (буквы и другие символы);
не введено значение (поле пустое).
Введенное значение должно учитываться при изменении логина для существующих пользователей и при указании логина для новых пользователей администратором, а также при изменении логина пользователем в своих настройках. Т.е. необходимо:
для настроек авторизации пользователя при попытке сохранить логин, имеющий длину, меньшую указанной в поле "Минимальная длина логина" вывести ошибку:
Длина логина должна быть не менее %заданного_числа символов
;
для настроек авторизации пользователя при попытке сохранить логин, имеющий длину, большую или равную указанной в поле "Минимальная длина логина" успешно сохранять введенные значения.
Также значение минимальной длины логина должно учитываться при автоматической генерации логинов и паролей для выбранных пользователей, т.е. необходимо создавать логины с длиной большей или равной числа, заданного в поле "Минимальная длина логина".
При этом для генерации логина использовать %Имя_Фамилию пользователя и если Имя_Фамилия содержит меньшее количество символов, чем указано в поле "Минимальная длина логина", тогда генерировать логин в следующем формате:
Имя_ФамилияЧисло
,
где добавляемое число должно обеспечивать:
соответствие значению поля "Минимальная длина логина", т.е. добавлять столько цифр, чтобы длина логина была равна или превысила значение минимальной длины логина;
уникальность генерируемого логина.
Пример использования:
Требования: наличие Администратора_1, Сотрудника_1
Авторизоваться в подсистеме администрирования под логином и паролем Администратора_1.
Открыть пункт "Безопасность" в разделе "Настройки системы".
Ввести значение для поля "Минимальная длина логина", равным "3". Установить другие параметры по требованию, не изменять минимальную длину пароля.
Вернуться на главную и открыть пункт "Управление пользователями" в разделе "Картотека".
Открыть свойства Сотрудника_1 и перейти в "Настройки авторизации".
Установить логин для Сотрудника_1 равным "11", пароль равным "111111" и попытаться сохранить значение. Выйдет ошибка:
Длина логина должна быть не менее 3 символов
Изменить значение для логина Сотрудника_1 равным "111" и попытаться сохранить значение:
Сохранение произойдет успешно.
Авторизоваться под Сотрудником_1 использовав для входа логин "111" и пароль "111111":
Авторизация произойдет успешно.