如何为 Apache-CXF JAX-WS 启用 Spring 安全性



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

两种可能的方式:

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

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

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

最新更新