Ausgabe: Spring Security 5.x bis 6.x Upgrade - /Anmeldungspflichteranforderung Rücksende 404Java

Java-Forum
Anonymous
 Ausgabe: Spring Security 5.x bis 6.x Upgrade - /Anmeldungspflichteranforderung Rücksende 404

Post by Anonymous »

Ich habe kürzlich meine Spring -Boot -Anwendung von Spring Security 5.x auf 6.x aktualisiert und auf ein Problem gestoßen, bei dem die Formularanmeldeseite korrekt geladen wird. Das Senden des Anmeldeformulars (d. H. Eine Post- /Login -Anforderung) führt jedoch zu einem 404 nicht gefundenen Fehler. Zuvor hat dieses Setup ohne Probleme funktioniert. < /P>
@Configuration
@EnableWebSecurity
public class DefaultSecurityConfig {

private final ThrottlingFilter throttlingFilter;
private final UserRepository userRepository;

DefaultSecurityConfig(ThrottlingFilter throttlingFilter, UserRepository userRepository) {
this.throttlingFilter = throttlingFilter;
this.userRepository = userRepository;
}

@Bean
public SecurityFilterChain authorizationServerSecurityFilterChain(
HttpSecurity http,
JpaRegisteredClientRepository jpaRegisteredClientRepository,
JpaOAuth2AuthorizationService jpaOAuth2AuthorizationService
) throws Exception {
OAuth2AuthorizationServerConfigurer authorizationServerConfigurer =
OAuth2AuthorizationServerConfigurer.authorizationServer();

http.formLogin(form -> form.loginPage("/portal-login").permitAll()) // Custom login page
.securityMatcher(authorizationServerConfigurer.getEndpointsMatcher())
.addFilterBefore(throttlingFilter, UsernamePasswordAuthenticationFilter.class)
.with(authorizationServerConfigurer, authorizationServer -> {
authorizationServer
.oidc(Customizer.withDefaults()) // Enable OpenID Connect 1.0
.registeredClientRepository(jpaRegisteredClientRepository)
.authorizationService(jpaOAuth2AuthorizationService);
})
.authorizeHttpRequests(
authorize ->
authorize
.requestMatchers(HttpMethod.OPTIONS).permitAll()
.requestMatchers(
HttpMethod.GET,
"/index*",
"/static/**",
"/*.js",
"/*.json",
"/*.ico",
"/rest",
"/*logo*.png"
).permitAll()
.requestMatchers("/aps/v1/featureFlag/isEnabled/**").permitAll()
.anyRequest().authenticated()
);

return http.cors(Customizer.withDefaults()).build();
}

@Bean
UserDetailsService userDetailsService() {
return username -> {
User user = userRepository.findByUsername(username);
if (user == null) {
throw new UsernameNotFoundException("User details not found for user: " + username);
}
return new ApsUserPrincipal(
user.getId(),
user.getUsername(),
user.getPassword(),
user.getEmail(),
user.getEnabled() > 0,
user.getFirstName(),
user.getLastName(),
user.getRole(),
user.getFiId(),
user.getCountry()
);
};
}
}
< /code>
Was ich ausprobiert habe
Die Seite /Portal-Login-Seite lädt gut, aber das Senden des Formulars an /login gibt 404 zurück. /Login.
Ich habe dafür gesorgt, dass keine anderen Sicherheitsfilter oder Anforderungsübergänge die Standard -Anmeldungsverarbeitungs -URL beeinträchtigen.>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post