亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

創建名為“webSecurityConfig”的Bean時出錯,因為當我嘗試將其自動連接到

創建名為“webSecurityConfig”的Bean時出錯,因為當我嘗試將其自動連接到

小唯快跑啊 2022-08-03 16:18:55
所有spring mvc + hibernate + spring安全示例都說我需要創建MyUserService類,其中從springSecurity擴展了UserDetailsService,以將我的數據庫與spring安全性綁定。但是當我這樣做時,我得到:錯誤創建名為“webSecurityConfig”的bean沒有定義這樣的bean UserSerivce,當我嘗試將其自動連接到SecurityConfig時,它尚不存在。當我下載任何在線示例時,給我同樣的錯誤。我在 Git 中的項目 - start_over分支。我的網絡安全配置類:@Configuration@EnableWebSecuritypublic class WebSecurityConfig extends WebSecurityConfigurerAdapter {@Autowiredprivate UserService userService;@Autowiredpublic void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {    auth.userDetailsService(userService).passwordEncoder(passwordEncoder());}@Overrideprotected void configure(HttpSecurity http) throws Exception {    http.authorizeRequests().antMatchers("/login", "/").anonymous()            .antMatchers("/admin", "/admin**").hasRole("ADMIN")            .anyRequest().authenticated()            .and()            .formLogin().loginPage("/login").permitAll()            .and()            .logout().logoutSuccessUrl("/login").permitAll()            .and()            .csrf().disable();}@Beanpublic PasswordEncoder passwordEncoder() {    return new BCryptPasswordEncoder();}}我的用戶服務:public interface UserService extends UserDetailsService {    void save(User user);    List<User> getAllUsers();}我的用戶服務簡單@Servicepublic class UserServiceImp implements UserService{    @Autowired    private UserDao userDao;    @Transactional    public void save(User user) {        userDao.save(user);    }    @Transactional(readOnly = true)    public List<User> getAllUsers() {        return userDao.getAllUsers();    }    @Transactional(readOnly=true)    @Override    public UserDetails loadUserByUsername(final String username)            throws UsernameNotFoundException {        com.rjproject.entities.User user = userDao.findByUserName(username);        List<GrantedAuthority> authorities =                buildUserAuthority(user.getAuthorities());        return buildUserForAuthentication(user, authorities);    }
查看完整描述

2 回答

?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

如果你的項目有多個像我這樣的配置類,你應該為每個配置類定義注釋。WebMvcConfigWebSecurityConfig@ComponentScan(basePackages = {"com.rjproject"})



查看完整回答
反對 回復 2022-08-03
?
開心每一天1111

TA貢獻1836條經驗 獲得超13個贊

1 :在你的情況下(javaconfig),你必須定義一個返回對象的Bean,它在哪里定義的?!userService

2 :其他方式,我認為如果你在課堂上添加setter方法,那么問題就會得到解決!就像這樣userServiceWebSecurityConfig

public void setUserService(UserService userService){
     this.userService = userService;
}

下一步,在實現從接口的類時,您必須在類的上方添加注釋,并將'value'屬性設置為“userService”。UserService@Service@Service


查看完整回答
反對 回復 2022-08-03
  • 2 回答
  • 0 關注
  • 230 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號