如何在grails spring-security-rest插件中处理自定义身份验证例外?

时间:2016-10-24 23:00:49

标签: grails spring-security spring-security-rest grails-spring-security

我正在使用Grails和 spring-security-rest 插件。

如何确保记录所有用户身份验证错误?

我发现使用我当前的配置不会记录插件中引发的安全异常。我希望在ERROR级别记录任何用户身份验证错误。

我尝试为'grails.plugin.springsecurity.rest'启用调试日志记录,但这会记录太多信息。

我开始做的是为我想要捕获的错误定义一个spring ApplicationListener 。我发现并非插件中的所有错误都会生成事件。例如,TokenNotFoundException在DefaultAuthenticationEventPublisher中没有映射。

如何向 DefaultAuthenticationEventPublisher 添加映射?这是解决这个问题的最佳方法,还是有另一种更简单的方法?

1 个答案:

答案 0 :(得分:1)

迟到总比不上......

我有类似的情况,我注册了几个可以帮助你的ApplicationListener。

我使用了FailSecurityEventListener来处理触发错误的事件。 RestAuthenticationFailureHandler,BearerTokenAuthenticationFailureHandler和BearerTokenAccessDeniedHandler也可以帮助您,并且可以在API文档中看到所有可用的内容:http://alvarosanchez.github.io/grails-spring-security-rest/latest/docs/gapi/