Skip to content

fix(mgr): ACL view_document на /references (PII покупателей)#438

Open
Ibochkarev wants to merge 1 commit into
betafrom
fix/issue-415-references-permission
Open

fix(mgr): ACL view_document на /references (PII покупателей)#438
Ibochkarev wants to merge 1 commit into
betafrom
fix/issue-415-references-permission

Conversation

@Ibochkarev

Copy link
Copy Markdown
Member

Описание

Группа /api/mgr/references была только за outer AuthMiddleware(mgr). GET /references/customers отдавал email, phone, orders_count, total_spent любому залогиненному менеджеру.

На группу повешен PermissionMiddleware(view_document) — тот же floor, что у /api/mgr/customers на beta (#378).

Тип изменений

  • Исправление бага (non-breaking change)
  • Новая функциональность (non-breaking change)
  • Breaking change (изменение, ломающее обратную совместимость)
  • Рефакторинг (без изменения функциональности)
  • Документация
  • Другое (опишите):

Связанные Issues

Closes #415

Как это было протестировано?

cd core/components/minishop3
composer ci:php   # exit 0
phpcs --standard=PSR12 tests/ReferencesRouteAclTest.php  # exit 0
# red-green: снятие PermissionMiddleware с /references → ReferencesRouteAclTest exit 1; после отката exit 0
  • Ручное тестирование
  • Автоматические тесты (composer ci:php)
  • Тестирование на разных версиях PHP/MODX

Конфигурация тестирования:

  • MiniShop3: fix/issue-415-references-permission
  • MODX: n/a (static smoke)
  • PHP: 8.2+

Скриншоты (если применимо)

До После
n/a n/a

Чеклист

  • Код соответствует стилю проекта
  • Добавлены/обновлены комментарии в сложных местах
  • Изменения не ломают существующую функциональность
  • Лексиконы добавлены на двух языках (ru/en) — не требуется
  • PHPStan проходит без новых ошибок (локально; в CI пока нет)
  • ESLint проходит без ошибок — Vue не меняли
  • Обновлён CHANGELOG.md — не для этого PR

Дополнительные заметки

  • Hardening (отложено): ужесточить только GET /references/customers до msorder_list, остальным reference-роутам — отдельный ACL; сейчас паритет с REST /customers на beta.
  • Vue combo на 403 часто ставит [] без toast — UX, не обход ACL; отдельный follow-up.
  • Пересечение с fix(manager-api): tighten ACL on customers and category products #400 (более дробный ACL customers) — при merge сверить floor.

@Ibochkarev Ibochkarev added priority: high Важно исправить в ближайшее время bug Something isn't working labels Jul 23, 2026
@Ibochkarev
Ibochkarev requested a review from biz87 July 23, 2026 16:47
/api/mgr/references was only behind mgr AuthMiddleware, so any
logged-in manager could search customer email/phone via autocomplete.
Align the group with /customers ACL floor from #378.
@Ibochkarev
Ibochkarev force-pushed the fix/issue-415-references-permission branch from 1562066 to 651b657 Compare July 24, 2026 02:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working priority: high Важно исправить в ближайшее время

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug] Manager API: /references/* без PermissionMiddleware — PII покупателей любому mgr

1 participant