如何为Apache-CXF JAX-WS启用Spring Security

时间:2012-06-11 05:59:26

标签: java spring spring-security cxf

如何在Apache-CXF上为apache JAX-WS启用Spring Security? Web上的示例包括Jax-RS示例,但我不使用Jax-RS。我不想使用cxf的安全性。如何在我的代码中实现它?

1 个答案:

答案 0 :(得分:8)

两种可能的方式:

  1. BasicAuthenticationFilter or DigestAuthenticationFilter放在CXF Servlet前面。

  2. Use a WS-Security UsernamePasswordToken使用CXF编写一个CallbackHandler,a)创建UsernamePasswordAuthenticationToken,b)调用authenticationManager.authenticate()和c)将身份验证存储在SecurityContextHolder中。

  3. 请注意,上述内容并未涵盖注销的概念,因为登录会话通常使用cookie实现,而上述内容是无状态方法。如果您真的需要注销,那么您应该考虑使用OAuth,因为您可以通过使访问令牌无效来实现注销。