Skip to content

fix(security): Allow username change in Account section - #74

Open
Ibochkarev wants to merge 2 commits into
3.xfrom
fix/15575-username-edit-account
Open

fix(security): Allow username change in Account section#74
Ibochkarev wants to merge 2 commits into
3.xfrom
fix/15575-username-edit-account

Conversation

@Ibochkarev

@Ibochkarev Ibochkarev commented Aug 21, 2026

Copy link
Copy Markdown
Member

Что сделано

Делает поле username редактируемым в Security → Profile → Account (textfield, макс 100 символов). Security/Profile/Update валидирует формат и уникальность (те же правила символов, что у user admin), пишет значение в modUser и возвращает username в payload успеха.

Username валидируется только когда запрос включает это свойство, поэтому старые клиенты, опускающие его, всё ещё обновляют профиль. При смене username сохранение профиля и пользователя идут в DB-транзакции.

Зачем нужно

Username в Account показывался read-only после modxcms#15539, поэтому пользователи не могли переименовать себя из Profile (modxcms#15575).

Как проверить

  1. Manager → ваш Profile → Account: смените username и сохраните; header/сессия должны показать новое имя.
  2. Пустой / невалидные символы (<>;'\"()) / занятое имя → ошибки поля.
  3. Опустите username в вызове коннектора → поля профиля сохраняются; username не меняется.
  4. phpunit --filter 'Processors\\Security\\Profile\\UpdateTest'

Связанные

Refs modxcms#15575

Оригинал: modxcms#16853

Enable username editing in the Account profile section with validation.
Add unit tests for Profile/Update processor and fix phpcs/PHPUnit CI.

Refs modxcms#15575
Require username only when submitted, enforce VARCHAR(100), wrap
profile/user saves in a transaction when the username changes, and
extend regression coverage (modxcms#15575).
@Ibochkarev Ibochkarev changed the title fix(security): разрешить смену username в разделе Account fix(security): Allow username change in Account section Aug 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant