我看到你的项目,并查看一些关于that.Here要同时实现用户与CustomUser
和UserDetailsService
自定义的UserDetailsService。
1)您的UserDetailsServiceImpl
类实现UserDetailsService
。将您的UserService
注入Autowired
注释。删除此构造函数或仅对其进行注释。
@Autowired
private UserService userService;
/*public UserDetailsServiceImpl(UserService userService) {
this.userService = userService;
}*/
2)标注您的接口UserService
与@Service
和它的实现类UserServiceImpl
与@Repository
因为它们是春天的组成部分。
3)从AppConfig
类删除此Bean。
@Bean
public UserDetailsService userDetailsService(){
return new UserDetailsServiceImpl();
}
4)当你创建自定义UserDetailsService
命名为UserDetailsServiceImpl
,所以你需要引入你的定制实现AuthenticationManagerBuilder
。为此,请使用@Autowired
注释将您的自定义类注入SecurityConfig
。
@Autowired
private UserDetailsServiceImpl userDetailsService;
5)是的,你处于最后阶段。通过设置将此userDetailsService设置为身份验证管理器
@Autowired
public void registerGlobalAuthentication(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(userDetailsService).passwordEncoder(getShaPasswordEncoder());
}
所以你差不多完成了。由于您使用了Spring-boot
,所以它嵌入了tomcat服务器(一个servlet容器)。转到您pom.xml
,发现包装标签(通常放置在第一),并将其更改为
<packaging>jar</packaging>
现在清理并生成项目(在我来说,我使用的NetBeans清洁而建,你可以使用Maven命令)。成功构建后,您会找到一个/target
文件夹。转到文件夹并打开终端,使用java -jar music-review-1.0-SNAPSHOT.jar
运行该罐子。
您的更新项目可以找到here。
这是一个maven ... – Serhii
maven命令使用什么来运行项目? –
你可以看到我的项目https://drive.google.com/file/d/17VQX490sQ4n5K8s94pCTFDAookQh0_hS/view?usp=sharing – Serhii