You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Самодаунгрейд и самоблокировка через форму изменения пользователя #95
В UserUpdateFormController нет RBAC: админ может снять роль/активность сам себе (ADMIN->USER, enabled=false себе), self-delete защищён, а self-downgrade — нет. Продуктовое решение: запретить или подтвердить особым диалогом.
Запрет симметричен самоудалению: админ не может снять себе роль (уход с ADMIN) и активность (enabled=false). Свои имя/email менять можно — это вне скоупа.
Механизм: гард в onSave с текстом ошибки (дизейбл полей — опциональный второй слой, не защита).
onSave блокирует сохранение, если цель — сам пользователь И (роль уходит с ADMIN ИЛИ активность снимается): текст ошибки, без вызова сервиса, без навигации.
Обновление чужого пользователя работает как раньше.
Обычная смена своих имени/email админом не блокируется.
Тесты: самодаунгрейд и самоблокировка заблокированы, чужие обновления зелёные; весь сьют, spotless, checkstyle чистые.
Соглашения: русские названия, Allure-разметка, только WaitForAsyncUtils.
Activity