Skip to content

fix(контроллеры): перехват 401/403 с редиректом на вход (#94) - #100

Merged
vladcheck merged 1 commit into
mainfrom
fix/94-auth-interceptor
Oct 16, 2026
Merged

vladcheck merged 1 commit into
mainfrom
fix/94-auth-interceptor

Conversation

@vladcheck

Copy link
Copy Markdown
Owner

Что сделано

  • Базовый Controller: общий showError(String) поверх абстрактного getErrorLabel(); новый showError(Throwable) перехватывает 401/403 в session.clear() + goToLoginOnce(); хук interceptAuthFailure() (по умолчанию true).
  • Все 8 контроллеров мигрированы: приватные пары showError/hideError удалены, добавлен getErrorLabel, catch/setOnFailed передают исключение, а не строку.
  • LoginFormController перекрывает interceptAuthFailure() в false: неверный пароль остаётся на форме без выхода.
  • Navigator.goToLoginOnce() с once-флагом против N параллельных 403.

Тесты

  • 401/403 ведут на экран входа с очищенной сессией (синхронный и асинхронный пути, AuthInterceptorTest).
  • Выход съедает ошибку сервиса без мелькания; неверный пароль остаётся на форме входа.
  • Полный сьют зелёный (255 тестов), spotless:check и checkstyle:check чистые.

Closes #94

Базовый Controller: общий showError(String) поверх getErrorLabel(), showError(Throwable) перехватывает 401/403 в session.clear() + goToLoginOnce(), хук interceptAuthFailure() (LoginFormController перекрывает в false). Navigator.goToLoginOnce() с once-флагом против параллельных 403. Все 8 контроллеров мигрированы. Тесты обоих путей 401/403, неверный пароль остаётся на форме, выход без мелькания.
@vladcheck
vladcheck merged commit 4e1a38b into main Oct 16, 2026
8 checks passed
@vladcheck
vladcheck deleted the fix/94-auth-interceptor branch October 16, 2026 17:51
@vladcheck
vladcheck restored the fix/94-auth-interceptor branch October 16, 2026 17:53
@vladcheck
vladcheck deleted the fix/94-auth-interceptor branch October 16, 2026 17:54
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.

Роль не перепроверяется после открытия страницы (stale RBAC)

1 participant