Ich entwickle Restful API Server mit Spring Boot. Ich habe mein Projekt so konfiguriert, dass die Standardauthentifizierung wie folgt verwendet wird.Wie Spring Booth nie Session-Cookie ausstellen?
@ComponentScan
@EnableAutoConfiguration
@EnableWebSecurity
@Configuration
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
...
@Override
protected void configure(HttpSecurity http) throws Exception {
http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.NEVER).and()
.csrf().disable()
.authorizeRequests().anyRequest().hasRole("USER").and()
.httpBasic();
}
...
}
Aber wenn ich die API von Chrome-Postman-Plugin getestet, nach dem ersten Anruf, Server erfordert nie Anmeldeinformationen des Benutzers. Und ich habe bemerkt, dass 'JSESSIONID' Cookie erstellt wurde.
Es gibt keine andere Sicherheitskonfiguration in meinem Projekt. Ich frage mich, warum das passiert ...
Erweitert Ihre Konfigurationsklasse den WebSecurityConfigurerAdapter? – Modi
Ja. Ich habe mein Code-Snippet bearbeitet. Ich möchte sicher, dass mein API-Server keine Sitzung verwaltet. – jyshin
OK, zuerst, lassen Sie uns überprüfen, ob die Authentifizierung erzwungen wird. Können Sie Ihre Konfiguration mit diesem versuchen zu ersetzen. Http.csrf() \t \t \t \t .disable() \t \t \t \t .authorizeRequests() \t \t \t \t .anyRequest() authentifiziert() – Modi