我试图访问/API/auth/用户,但我仍然得到“401 Unauthorized”。如何设置SecurityConfiguration?我无法在我的项目中使用WebSecurityConfigurerAdapter。
这是我的代码:
@Configuration
@EnableWebSecurity(debug = true)
public class SecurityConfiguration {
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
http
.authorizeHttpRequests( auth -> auth
.requestMatchers("/api/auth/**").permitAll()
.requestMatchers("/actuator/shutdown").permitAll()
.requestMatchers("/api/antifraud/transaction").authenticated()
.anyRequest().authenticated()
)
.httpBasic(Customizer.withDefaults())
.csrf(AbstractHttpConfigurer::disable)
.headers(headers -> headers.frameOptions(Customizer.withDefaults()));
return http.build();
}
@Bean
public PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}
}
个字符
3条答案
按热度按时间vmjh9lq91#
您正在获取
"401 Unauthorized"
,因为您尚未验证"/api/auth/"
端点。尝试修改后的版本,字符串
如果仍然得到相同的错误,请尝试以下方法,
型
gupuwyp22#
你能试试吗
在前面再加两个星号
字符串
antMatchers
而不是禁用csrf()的requestMatchers
型
a0zr77ik3#
我只是复制/粘贴你的代码,它工作得很好,也许问题是在你的要求,你试图做什么:x1c 0d1x的数据
还有一个细节,请使用
@RequestParam String name...
而不是@RequestBody String name ...
,或者创建一个自定义对象,如User(name,username,password),并通过@RequestBody User user
将它们传递给请求