Spring 安全性配置有问题



我刚刚开始春天的冒险,请帮忙。

我正在尝试在 Spring 启动应用程序上配置 Spring 安全性,如下所示:

@Configuration
@EnableWebSecurity
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
@Value("${spring.queries.users-query}")
private String usersQuery;
@Value("${spring.queries.roles-query}")
private String rolesQuery;
@Autowired
private DataSource dataSource;
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
/*        auth.jdbcAuthentication()
.dataSource(dataSource)
.usersByUsernameQuery(usersQuery)
.authoritiesByUsernameQuery(rolesQuery)
.passwordEncoder(passwordEncoder());*/
auth.inMemoryAuthentication()
.withUser("user")
.password(passwordEncoder().encode("user"))
.authorities("ROLE_USER");
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.httpBasic()
.and()
.authorizeRequests()
.antMatchers(HttpMethod.GET,"/create").permitAll()
.anyRequest()
.authenticated();
http.csrf().disable();
}
@Bean
public BCryptPasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}
}

我的控制器是:

@RestController
public class LoginController {
@Autowired
private UserService userService;
@GetMapping("/users")
public String login() {
return "working";
}
@GetMapping("/create")
public User create() {
User user = new User();
user.setPassword("user1");
user.setEmail("user1@wp.pl");
user.setName("user1");
userService.save(user);
return user;
}
}

和我的跑步课:

@ComponentScan(basePackages = "main.service, main.repository")
@SpringBootApplication(exclude = {UserDetailsServiceAutoConfiguration.class})
public class HomeworkApplication {
public static void main(String[] args) {
SpringApplication.run(HomeworkApplication.class, args);
}
}

我使用 POSTMAN 来测试我的端点,但每次我都会收到 401。

有人可以帮助我解决这个问题。我花了很多时间,但没有找到解决方案。

谢谢!

编辑!!!! 在此处输入图像描述

请从HomeworkApplication中删除@ComponentScan(basePackages = "main.service, main.repository")。它正在覆盖默认组件SpringBootApplication的扫描。

如果您需要扫描特定软件包,请添加如下所示的配置类,

@ComponentScan(basePackages = "main.service, main.repository")
@Configuration
public class AppConfig{
}

最新更新