apache cxf java_使用Spring和Apache CXF实现Java Web服务的安全性

我有一个应用程序在

Java Spring 3上运行.我的应用程序使用RESTful服务和Spring Security来实现安全性.它有一个用户表,并从中检查用户凭据.我为我的应用程序实现了Web服务功能(客户需要的Web服务之一,而不是RESTful服务).如果可能,我想要相同的身份验证机制,并希望查找该数据库,并只允许一个用户(现在为管理员)与我的Web服务服务器进行通信.

我应该遵循与RESTful身份验证相同的方式,还是在Spring上有Java Web Services的任何身份验证和安全机制(即如何处理注销,如何为客户端 – 服务器Web服务通信启用注销机制)

PS:我使用的是Apache-CXF.

最佳答案 两种可能的方式:

>将一个BasicAuthenticationFilter or DigestAuthenticationFilter放在CXF Servlet前面.

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值