如何处理 grails spring-security-rest 插件中的自定义身份验证异常?
Posted
技术标签:
【中文标题】如何处理 grails spring-security-rest 插件中的自定义身份验证异常?【英文标题】:How do I handle a custom authentication exception in grails spring-security-rest plugin? 【发布时间】:2017-03-06 20:24:19 【问题描述】:我正在使用带有 spring-security-rest 插件的 Grails。
如何确保记录所有用户身份验证错误?
我发现插件中引发的安全异常没有使用我当前的配置记录。我希望在 ERROR 级别记录任何用户身份验证错误。
我尝试为 'grails.plugin.springsecurity.rest' 启用调试日志记录,但这会记录太多信息。
我开始做的是为我想要捕获的错误定义一个弹簧 ApplicationListener。我发现并非插件中的所有错误都会生成事件。例如,TokenNotFoundException 在 DefaultAuthenticationEventPublisher 中没有映射。
如何将映射添加到 DefaultAuthenticationEventPublisher?这是解决这个问题的最佳方法,还是有其他更简单的方法?
【问题讨论】:
【参考方案1】:迟到总比没有好...
我有类似的情况,我注册了几个 ApplicationListener 可以帮助你。
我使用了 FailSecurityEventListener,它处理触发错误的事件。 RestAuthenticationFailureHandler、BearerTokenAuthenticationFailureHandler 和 BearerTokenAccessDeniedHandler 也可以为您提供帮助,并查看您可以在 API 文档中看到的所有可用信息:http://alvarosanchez.github.io/grails-spring-security-rest/latest/docs/gapi/
【讨论】:
以上是关于如何处理 grails spring-security-rest 插件中的自定义身份验证异常?的主要内容,如果未能解决你的问题,请参考以下文章
如何处理 grails spring-security-rest 插件中的自定义身份验证异常?