5

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

4

1 回答 1

9

两种可能的方式:

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

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

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

于 2012-06-12T02:39:54.323 回答