我最近已经能够保护我的web应用程序,并使用基本身份验证对用户进行身份验证。一个额外的需求是根据请求参数检查用户的ip地址,我利用了自定义身份验证详细信息来源和覆盖BASIC_AUTH_FILTER。(请参阅:http://stackoverflow.com/questions/9854592/accessing-httpservletrequest-during-daoauthenticationprovider-authenticate-in-sp)
现在我有了一个Spring Web Service,它使用SimplePasswordValidationCallbackHandler和上面相同的AuthenticationManager / Provider配置(除了http名称空间配置,它包含我所有的自定义过滤器逻辑)。我想做一个类似的活动,在Web服务中进行身份验证时,仅当用户的ip地址匹配时,才对用户进行完全身份验证。我在SOAP头中传递用户名和密码,身份验证没有任何问题。任何想法,如果我可以重用我的现有配置在这里的AuthenticationDetailsSource和自定义过滤器。这是可以实现的吗?还是我在一个完全不同的轨道上?谢谢。
发布于 2012-04-05 14:51:57
我将RequestContext侦听器添加到我的web.xml中,并在自定义HttpServletRequest中的身份验证过程中使用RequestContextHolder访问DAOProvider。任何人有更好的解决方案,让我知道!
https://stackoverflow.com/questions/10016522
复制