app:super-admin:create
Создает нового суперадмина в системе.
Описание
Команда создает нового суперадмина с указанными данными. Поддерживает интерактивный режим работы - если данные не переданы как аргументы, команда запросит их у пользователя.
Синтаксис
php bin/console app:super-admin:create [email] [password] [firstName] [lastName] [--owner]
Аргументы
Все аргументы опциональны. Если аргумент не передан, команда запросит его интерактивно.
|
Аргумент |
Описание |
Обязательно |
|
|
Email адрес суперадмина |
Да (интерактивно или как аргумент) |
|
password |
Пароль (минимум 8 символов) |
Да (интерактивно или как аргумент) |
|
firstName |
Имя суперадмина |
Да (интерактивно или как аргумент) |
|
lastName |
Фамилия суперадмина |
Да (интерактивно или как аргумент) |
Опции
|
Опция |
Описание |
|
--owner |
Предоставить роль ROLE_SUPER_OWNER (полный доступ к системе). Если не указана, команда спросит интерактивно. |
Примеры использования
Полностью интерактивный режим
php bin/console app:super-admin:create
Команда запросит все необходимые данные:
Email address: admin@example.com
Password: ********
First name: John
Last name: Doe
Grant ROLE_SUPER_OWNER (full access)? (yes/no) [no]:
С частичными данными
php bin/console app:super-admin:create admin@example.com
Команда запросит только недостающие данные (пароль, имя, фамилию, роль).
Неинтерактивный режим
php bin/console app:super-admin:create admin@example.com password123 John Doe
Все данные переданы как аргументы, команда выполнится без запросов.
Создание суперадмина с полным доступом
php bin/console app:super-admin:create admin@example.com password123 John Doe --owner
Создает суперадмина с ролью ROLE_SUPER_OWNER.
Валидация
Команда выполняет следующие проверки:
- Email:
- Не может быть пустым
- Должен быть валидным email адресом (проверка через filter_var)
- Должен быть уникальным в системе
- Пароль:
- Не может быть пустым
- Минимум 8 символов
- Ввод пароля скрыт (не отображается на экране)
- Имя и фамилия:
- Не могут быть пустыми
Возвращаемые значения
- Command::SUCCESS (0) - Суперадмин успешно создан
- Command::FAILURE (1) - Ошибка (например, email уже существует)
Пример успешного выполнения
[OK] Super admin "admin@example.com" created successfully with ID: 01234567-89ab-cdef-0123-456789abcdef
[NOTE] This user has ROLE_SUPER_OWNER with full system access.
Пример ошибки
[ERROR] Super admin with email "admin@example.com" already exists.
Примечания
- Пароль хэшируется перед сохранением в базу данных
- Суперадмины не привязаны к тенантам (работают вне контекста тенанта)
- Роль ROLE_SUPER_OWNER предоставляет полный доступ ко всей системе
- По умолчанию создается суперадмин с ролью ROLE_SUPER_ADMIN
Связанные команды
- app:super-admin:list - Просмотр списка всех суперадминов