Безопасность Grails Spring - Можете ли вы изменить аутентификационные ответы на основе заголовка запроса, перешли на страницу входа для html req, верните код 401 для json req - PullRequest
3 голосов
/ 17 февраля 2012

У меня есть приложение Grails, настроенное с помощью Spring Security, когда я получаю доступ через браузер и не аутентифицируюсь, оно перенаправляет меня на страницу входа. Если я получаю доступ к веб-сервису JSON в приложении, он не выдает ошибку аутентификации, а в ответ возвращает страницу входа в систему html клиенту.

Можно ли определить разные методы аутентификации на основе того, запрашивает ли клиент html против json? т.е. вернуть код ответа 401, если запрашивает JSON и не аутентифицирован?

1 Ответ

2 голосов
/ 17 февраля 2012

Вы можете настроить свой собственный обработчик ошибок, обработчик по умолчанию делает это перенаправление.Для этого вам нужно зарегистрировать бин с именем authenticationFailureHandler, который реализует org.springframework.security.web.authentication.AuthenticationFailureHandler.Это недокументировано, но я уверен, что это работает.Вы можете отправить 401 отсюда, перенаправить, продолжить обработку и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...