【发布时间】:2021-01-10 00:24:59
【问题描述】:
我需要在我的后端 api 服务器上验证来自第三方集成的 webhook 帖子。我唯一可以定义的是他们将调用的端点 url。一旦他们必须注册并且该过程需要3天,它就不能是动态的。而且我们使用多租户解决方案,因此我们必须在每次调用时使用不同的架构进行身份验证。
所以问题是我必须为这个 webhook 创建一个过滤器,所以我可以通过帖子正文的 json 中包含的值对其进行身份验证。
所以我定义了一个 WebSecurityConfigurerAdapter 并添加了一个 AbstractPreAuthenticatedProcessingFilter 以便我可以拦截请求,读取使用适当凭据进行身份验证的 json 正文中的值。
我按照本教程 Reading HttpServletRequest Multiple Times in Spring 进行操作,这样我就可以从请求中读取 InputStream 而不会删除它。
所以我的问题是两个。
1:是否有更好/更简单的方法可以存档此结果? 2:我想本教程遗漏了一些东西,因为当我尝试读取请求时(同样,在我已经在过滤器处读取之后)时,我在 servlet 处获得了空指针。
任何猜测都将不胜感激,在此先感谢。
【问题讨论】:
-
如果您需要帮助,我建议您发布有关 api、您的代码和更具体问题的信息。投票结束,因为
Is there a better/easy approach so I can archive this result会导致固执己见的答案。 -
非常感谢您的任意决定投票结束我的问题。如果您不知道如何解决这个问题,我强烈建议您尝试回答任何其他问题。最好是你知道如何解决的。再次感谢。
-
我没有义务提供任何反馈,但会这样做,以便您改进您的问题。在提出问题之前,每个人都应该阅读关于“如何提出一个好问题”stackoverflow.com/help/how-to-ask 询问“有没有更好的方法?”的常见问题解答。可能会导致固执己见的答案,这是不允许的meta.stackoverflow.com/questions/255468/opinion-based-questions 然后你问tuturial 是否因为你得到一个空指针而丢失了一些东西。我们无法确定,因为您尚未向我们展示您的实现。 afaik 你可能只是错过了教程中的一些内容
-
因此改进问题的建议是:询问一个特定问题,例如“我在尝试执行 x 时遇到空指针异常”,您将代码包含在显示正在发生的事情的堆栈跟踪中,你写清楚你预期会发生什么。如果这样做,有人可能会很乐意回答您的问题。如果问题是可重现的,它可能会得到更快的回答。祝你有美好的一天。
-
并非所有问题都与运行时错误有关,而不是与工作代码有关。规范问题也有待回答。您可以帮助解决这个问题,而不是投票关闭它,因为这不是您最喜欢回答的问题类型。我建议您省力尝试解决问题,或者您最喜欢的问题。
标签: spring-boot spring-security multi-tenant