我正在使用Grails和 spring-security-rest 插件。
如何确保记录所有用户身份验证错误?
我发现使用我当前的配置不会记录插件中引发的安全异常。我希望在ERROR级别记录任何用户身份验证错误。
我尝试为'grails.plugin.springsecurity.rest'启用调试日志记录,但这会记录太多信息。
我开始做的是为我想要捕获的错误定义一个spring ApplicationListener 。我发现并非插件中的所有错误都会生成事件。例如,TokenNotFoundException在DefaultAuthenticationEventPublisher中没有映射。
如何向 DefaultAuthenticationEventPublisher 添加映射?这是解决这个问题的最佳方法,还是有另一种更简单的方法?
答案 0 :(得分:1)
迟到总比不上......
我有类似的情况,我注册了几个可以帮助你的ApplicationListener。
我使用了FailSecurityEventListener来处理触发错误的事件。 RestAuthenticationFailureHandler,BearerTokenAuthenticationFailureHandler和BearerTokenAccessDeniedHandler也可以帮助您,并且可以在API文档中看到所有可用的内容:http://alvarosanchez.github.io/grails-spring-security-rest/latest/docs/gapi/