微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在没有 ThreadLocal 的情况下实现 SecurityService 以与 Kotlin 协程一起使用

如何解决在没有 ThreadLocal 的情况下实现 SecurityService 以与 Kotlin 协程一起使用

this有些相关:

我们正在尝试注入一个 SecurityService bean,以便我可以在控制器之外访问身份验证对象。不幸的是,与之前的 RequestScope 实现一样,getAuthentication 的 DefaultSecurityService 实现依赖于使用 ThreadLocal 的 ServerRequestContext.currentRequest():

@Override
public Optional<Authentication> getAuthentication() {
    return ServerRequestContext.currentRequest()
            .flatMap(request -> request.getUserPrincipal(Authentication.class));
}

而且由于我们也在使用 Kotlin 协程,我们希望找到一种无需 ThreadLocal 即可实现 getAuthentication 的方法。关于我们如何去做的任何建议?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。