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

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

為什么我不能禁用 spring boot 自動生成的密碼和用戶?

為什么我不能禁用 spring boot 自動生成的密碼和用戶?

尚方寶劍之說 2022-12-15 16:55:10
我正在啟動一個新的 spring boot 項目,希望在 Spring Security 中禁用自動配置的用戶,我嘗試了很多配置但都沒有用,我不知道我缺少什么??。?!如您所見,我正在使用spring boot 2.1.5和web flux、security、mongo、actuator為了禁用自動用戶配置,我嘗試實現自己的UserDetailService安全性,如下所示@Configuration@EnableWebSecuritypublic class SecurityConfigurer extends WebSecurityConfigurerAdapter {    private UserDetailsService userDetailsService;    private PasswordEncoder passwordEncoder;    public SecurityConfigurer(EsportUserDetailService userDetailsService, PasswordEncoder passwordEncoder) {        this.userDetailsService = userDetailsService;        this.passwordEncoder = passwordEncoder;    }    @Override    protected void configure(AuthenticationManagerBuilder auth) throws Exception {        auth.userDetailsService(userDetailsService).passwordEncoder(passwordEncoder);    }    @Override    protected void configure(HttpSecurity http) throws Exception {        http.authorizeRequests().antMatchers("/").permitAll()        .and()        .authorizeRequests().anyRequest().authenticated();    }}@SpringBootApplication(exclude = SecurityAutoConfiguration.class)public class Application {    public static void main(String[] args) {        SpringApplication.run(Application.class, args);    }}public class EsportUserDetailService implements UserDetailsService {    @Autowired    private UserRepository userRepository;    @Override    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {        Optional<User> userFindByUsername = userRepository.findByUsername(username);        User user = new User();        if (userFindByUsername.isPresent()) user = userFindByUsername.get();        return new EsportPrincipal(user);    }}@Configurationpublic class BeansConfig{    @Bean    public PasswordEncoder getPasswordEncoding(){        return new BCryptPasswordEncoder();    }    @Bean    public EsportUserDetailService getEsportUsersDetailSericeImplementation(){        return new EsportUserDetailService();    }}
查看完整描述

1 回答

?
陪伴而非守候

TA貢獻1757條經驗 獲得超8個贊

由于您使用的是 WebFlux 而不是 Spring MVC,因此您必須使用WebFlux Security。

要禁用 SpringBoot 配置的默認用戶和密碼,您必須改為實現ReactiveUserDetailsService。


查看完整回答
反對 回復 2022-12-15
  • 1 回答
  • 0 關注
  • 186 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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