Как мне обработать пользовательское исключение аутентификации в плагине grails spring-security-rest?

Я использую Grails с плагином spring-security-rest.

Как убедиться, что все ошибки аутентификации пользователей регистрируются?

Я обнаружил, что исключения безопасности, созданные в плагине, не регистрируются с использованием моей текущей конфигурации. Я хочу, чтобы любая ошибка аутентификации пользователя регистрировалась на уровне ERROR.

Я попытался включить ведение журнала отладки для 'grails.plugin.springsecurity.rest', но в нем регистрируется слишком много информации.

Вместо этого я начал определять Spring ApplicationListener для ошибок, которые я хотел поймать. Я обнаружил, что не все ошибки плагина генерируют события. Например, TokenNotFoundException не имеет сопоставления в DefaultAuthenticationEventPublisher.

Как добавить сопоставления в DefaultAuthenticationEventPublisher? Это лучший способ решить эту проблему или есть другой, более простой способ?


person RMorrisey    schedule 24.10.2016    source источник


Ответы (1)


Лучше поздно, чем никогда...

У меня похожая ситуация, и я регистрирую пару ApplicationListener, которые могут вам помочь.

Я использовал FailSecurityEventListener, который обрабатывает событие, вызывающее ошибку. RestAuthenticationFailureHandler, BearerTokenAuthenticationFailureHandler и BearerTokenAccessDeniedHandler также могут помочь вам и увидеть все доступные вы можете увидеть в документе API: http://alvarosanchez.github.io/grails-spring-security-rest/latest/docs/gapi/

person Octavio Garbarino    schedule 07.02.2017