Создание суперадмина

app:super-admin:create

Создает нового суперадмина в системе.

Описание

Команда создает нового суперадмина с указанными данными. Поддерживает интерактивный режим работы - если данные не переданы как аргументы, команда запросит их у пользователя.

Синтаксис

php bin/console app:super-admin:create [email] [password] [firstName] [lastName] [--owner]

Аргументы

Все аргументы опциональны. Если аргумент не передан, команда запросит его интерактивно.

Аргумент

Описание

Обязательно

email

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 - Просмотр списка всех суперадминов

Вы нашли эту статью полезной?