0

我最近能够保护我的 Web 应用程序并使用基本身份验证对用户进行身份验证。一个额外的要求是从请求参数中检查用户的 IP 地址,并且我利用了自定义身份验证详细信息源的使用和 BASIC_AUTH_FILTER 的覆盖。(见:http://stackoverflow.com/questions/9854592/accessing-httpservletrequest-during-daoauthenticationprovider-authenticate-in-sp)

现在我有一个 Spring Web 服务,它使用 SimplePasswordValidationCallbackHandler 和与上面相同的 AuthenticationManager / Provider 配置(除了具有我所有自定义过滤器逻辑的 http 命名空间配置)。我想做一个类似的活动来完全验证用户,只有在他们的 ip 地址在 Web 服务中进行身份验证时匹配。我在 SOAP 标头中传递用户名和密码,并且身份验证发生没有任何问题。如果我可以在此处为 AuthenticationDetailsS​​ource 和自定义过滤器重用我现有的配置,有什么想法。这甚至可以实现,还是我在这里完全不同?谢谢。

4

1 回答 1

0

我在 web.xml 中添加了一个 RequestContext 侦听器,并在自定义 DAOProvider 中的身份验证过程中使用 RequestContextHolder 访问了 HttpServletRequest。谁有更好的解决方案,请告诉我!

于 2012-04-05T14:51:57.000 回答