场景: 我用Spring安全性实现了基本身份验证。我生成了表单登录名和http基本身份验证。因此,当我想发送新数据(在Requestbody中为JSON文件)时,我只能使用Put和GEt,而不能使用Post。
错误:
当我使用Post Method(我正在与邮递员进行测试)时,loadUserByUsername(String username)
中的用户名始终为空。当我使用Get或Put进行相同的呼叫时,用户名就是它的原意。
代码:
我不太确定哪些代码部分会有所帮助,因为一切似乎都在幕后发生。所以我希望SpringSecurityConfic可以提供帮助
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().disable();
http.authorizeRequests().antMatchers("/**").permitAll().anyRequest().authenticated().and().httpBasic().authenticationEntryPoint(entryPoint);
http.addFilterAt(new CustomBasicAuthenticationFilter(authenticationManagerBean()), BasicAuthenticationFilter.class);
http.formLogin().loginPage("/login").permitAll().failureUrl("/login").successHandler(new RoleBasedAuthenticationSuccessHandler());
http.logout().logoutRequestMatcher(new AntPathRequestMatcher("/logout")).logoutSuccessUrl("/login").invalidateHttpSession(true).deleteCookies("JSESSIONID").permitAll();
}
在我的SpringSecurotyConfiguration文件中,我具有http.csrf()。disable(),但仍然无法正常工作。
当我想使用POST时,我需要注意的任何事情。