返回顶部
首页 > 资讯 > 精选 >在SpringSide实现XFire Webservice认证
  • 348
分享到

在SpringSide实现XFire Webservice认证

SpringSide 2023-09-08 11:09:12 348人浏览 泡泡鱼
摘要

在springSide中实现XFire WEBservice认证,可以按照以下步骤进行:1. 在pom.xml文件中添加XFire和

springSide中实现XFire WEBservice认证,可以按照以下步骤进行:
1. 在pom.xml文件中添加XFire和SpringSecurity的依赖:
```xml

org.codehaus.xfire
xfire-all
1.2.6


org.springframework.security
spring-security-web
5.1.4.RELEASE


org.springframework.security
spring-security-config
5.1.4.RELEASE

```
2. 创建一个实现了`org.springframework.security.core.userdetails.UserDetailsService`接口的类,用于获取用户信息。可以根据实际业务需求自行实现。
```java
@Service
public class UserDetailsServiceImpl implements UserDetailsService {
@Autowired
private UserRepository userRepository;
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
User user = userRepository.findByUsername(username);
if (user == null) {
throw new UsernameNotFoundException("User not found");
}
return new org.springframework.security.core.userdetails.User(user.getUsername(), user.getPassword(),
Arrays.asList(new SimpleGrantedAuthority(user.getRole())));
}
}
```
3. 创建一个实现了`org.springframework.ws.soap.security.xwss.XwsSecurityInterceptor`接口的类,用于配置Webservice的安全拦截器。
```java
@Component
public class XFireSecurityInterceptor extends XwsSecurityInterceptor {
@Autowired
private UserDetailsService userDetailsService;
@Override
public void afterPropertiesSet() throws Exception {
Wss4jsecurityInterceptor securityInterceptor = new Wss4jSecurityInterceptor();
securityInterceptor.setValidationActions("UsernameToken");
securityInterceptor.setSecurementActions("UsernameToken");
securityInterceptor.setSecurementUsernameTokenNoPassword(true);
securityInterceptor.setSecurementUsernameTokenDigestPassword(true);
securityInterceptor.setSecurementPassWordType(WSConstants.PASSWORD_DIGEST);
securityInterceptor.setValidationCallbackHandler(callbackHandler());
securityInterceptor.setValidationActions("UsernameToken");
securityInterceptor.setValidationSignatureCrypto(getCrypto());
securityInterceptor.setValidationDecryptionCrypto(getCrypto());
this.setInterceptors(new ClientInterceptor[]{securityInterceptor});
}
private CallbackHandler callbackHandler() {
return new PasswordCallbackHandler(userDetailsService);
}
private Crypto getCrypto() throws WSSecurityException {
Properties properties = new Properties();
properties.setProperty("org.apache.ws.security.crypto.provider",
"org.apache.ws.security.components.crypto.Merlin");
properties.setProperty("org.apache.ws.security.crypto.merlin.keystore.password", "keystorePassword");
properties.setProperty("org.apache.ws.security.crypto.merlin.keystore.alias", "alias");
properties.setProperty("org.apache.ws.security.crypto.merlin.keystore.file", "keystorePath");
Crypto crypto = CryptoFactory.getInstance(properties);
return crypto;
}
}
```
4. 创建一个实现了`org.springframework.ws.soap.security.callback.CallbackHandler`接口的类,用于处理Webservice请求中的用户名和密码。
```java
public class PasswordCallbackHandler implements CallbackHandler {
private UserDetailsService userDetailsService;
public PasswordCallbackHandler(UserDetailsService userDetailsService) {
this.userDetailsService = userDetailsService;
}
@Override
public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
for (Callback callback : callbacks) {
if (callback instanceof UsernameCallback) {
UsernameCallback usernameCallback = (UsernameCallback) callback;
String username = usernameCallback.getUsername();
UserDetails userDetails = userDetailsService.loadUserByUsername(username);
if (userDetails == null) {
throw new IOException("User not found");
}
usernameCallback.setPassword(userDetails.getPassword());
} else {
throw new UnsupportedCallbackException(callback);
}
}
}
}
```
5. 在Spring配置文件中配置`XFireSecurityInterceptor`和`PayloadRootAnnotationMethodEndpointMapping`。
```xml







init-method="afterPropertiesSet">





```
以上

--结束END--

本文标题: 在SpringSide实现XFire Webservice认证

本文链接: https://lsjlt.com/news/399904.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 在SpringSide实现XFire Webservice认证
    在SpringSide中实现XFire Webservice认证,可以按照以下步骤进行:1. 在pom.xml文件中添加XFire和...
    99+
    2023-09-08
    SpringSide
  • 怎么在Django中实现jwt认证
    本篇文章为大家展示了怎么在Django中实现jwt认证,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、 jwt 安装和配置安装虚拟环境下执行以下命令pip install dj...
    99+
    2023-06-14
  • Spring Security实现HTTP认证
    目录前言一、HTTP基本认证是什么?二、HTTP基本认证流程一.Spring Security使用HTTP基本认证1.创建项目spring-security-http-auth2.创...
    99+
    2024-04-02
  • AJAX和WebService怎么实现邮箱验证功能
    这篇文章主要讲解了“AJAX和WebService怎么实现邮箱验证功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“AJAX和WebService怎么实现邮...
    99+
    2024-04-02
  • php怎么实现实名认证
    本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑基于PHP的身份证实名认证示例...
    99+
    2024-04-02
  • php如何实现实名认证
    今天小编给大家分享一下php如何实现实名认证的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。php实现实名认证的步骤:1、开通...
    99+
    2023-07-04
  • JavaSpringSecurity+JWT实现登录认证
    目录整合步骤实现原理目录结构做了哪些变化前言: 学习过我的mall项目的应该知道,mall-admin模块是使用SpringSecurity+JWT来实现登录认证的,而mall-po...
    99+
    2024-04-02
  • java如何实现license认证
    在Java中实现license认证有多种方法,以下是其中一种常见的方法:1. 创建一个License类,包含许可证的必要信息和属性,...
    99+
    2023-09-05
    java
  • .NetCore实现JWT授权认证
    关于JWT的基本概念,如果有不清晰的同学,请点击这里,就不在这里赘述了。接下来聊聊JWT是怎么发挥作用的。 第一,安装nuget包 Microsoft.AspNetCore.Auth...
    99+
    2024-04-02
  • django 认证类配置实现
    目录一、配置认证类1.认证全局配置文件2.局部使用3.匿名用户配置:二、内置认证类1.BaseAuthentication2.其他认证类三、总结1.自定义认证类:2.认证配置:3.源...
    99+
    2024-04-02
  • SpringSecurity+JWT实现认证与授权的实现
    目录一、登录校验流程1、Spring Security 完整流程2、Spring Security的默认登陆验证流程。3、 整合JWT大致流程前端响应类JWT工具类重写UserDet...
    99+
    2024-04-02
  • Django 实现jwt认证的示例
    目录一、 jwt 安装和配置安装配置总路由配置分路由配置postman 测试前端配置登录按钮remember me 认证登录后确定框一、 jwt 安装和配置 安装 虚拟环境下执行...
    99+
    2024-04-02
  • .NetCore中自定义认证实现
    目录一、起因二、自定义认证实现 三、多认证支持四、总结一、起因  最近项目中需要对项目同时支持JWT认证,以及自定义的认证校验方式认证。通过对官方文档了解,得到认证实现主要...
    99+
    2024-04-02
  • node.js怎么实现身份认证
    这篇文章主要介绍“node.js怎么实现身份认证”,在日常操作中,相信很多人在node.js怎么实现身份认证问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”node.js怎么实现身份认证”的疑惑有所帮助!接下来...
    99+
    2023-06-30
  • Spring Security如何实现HTTP认证
    今天小编给大家分享一下Spring Security如何实现HTTP认证的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下...
    99+
    2023-06-30
  • PHP实现JWT的Token登录认证
    1、JWT简介 JSON Web Token(缩写 JWT),是目前最流行的跨域认证解决方案。 session登录认证方案:用户从客户端传递用户名、密码等信息,服务端认证后将信息存储在session中,将session_id放到cookie...
    99+
    2017-03-29
    PHP实现Token登录认证 PHP Token认证 Token登录认证
  • Mongodb中怎么实现认证鉴权
    本篇文章给大家分享的是有关Mongodb中怎么实现认证鉴权,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、Mongodb 的权限管理认识权限...
    99+
    2024-04-02
  • MySQL如何实现Apache用户认证
    这篇文章主要介绍MySQL如何实现Apache用户认证,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!apache要求DSO方式编译安装,假定apache安装在/usr/local/a...
    99+
    2024-04-02
  • django restframework使用redis实现token认证
    目录一、前言二、详解1. 前期准备2. 配置redis3. 将token写入redis3.1 原来的登录代码3.2 重写后的登录代码3.3 登录后redis存储的用户记录4. 重写认...
    99+
    2024-04-02
  • Springboot怎么实现通用Auth认证
    这篇文章主要介绍“Springboot怎么实现通用Auth认证”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Springboot怎么实现通用Auth认证”文章能帮助大家解决问题。传统AOP对于这种需...
    99+
    2023-06-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作