我看到你的項目,並查看一些關於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