zuletzt bearbeitet: ".httpBasic(). Und(). FormLogin(). Und()", es funktioniert für "/ api/**" Autorisierung. aber es gibt immer noch ein Problem beim Besuch "http://127.0.0.1:8080/template-one/gzgg", die ich beabsichtigte, würde es auf "http://127.0.0.1:8080" umleiten.
Ich versuchte
@Bean
public MapReactiveUserDetailsService userDetailsRepository() {
UserDetails admin = User.withDefaultPasswordEncoder().username("admin").password("123").roles("ADMIN").build();
UserDetails santiago = User.withDefaultPasswordEncoder().username("santiago").password("456").roles("USER").build();
return new MapReactiveUserDetailsService(admin,santiago);
}
@Bean
public SecurityWebFilterChain springSecurityFilterChain(ServerHttpSecurity http) {
return http
.authorizeExchange()
.pathMatchers(HttpMethod.GET, "/api/**").hasRole("ADMIN")
.pathMatchers(HttpMethod.POST, "/api/**").hasRole("ADMIN")
.pathMatchers(HttpMethod.GET, "/**").permitAll()
.pathMatchers(HttpMethod.POST, "/**").permitAll()
//.pathMatchers("https://stackoverflow.com/users/{user}/**").access(this::currentUserMatchesPath)
.anyExchange().authenticated()
.and()
.httpBasic().and()
.formLogin().and()
.build();
}
und
@Configuration
public class GlobalRouter {
@Bean
RouterFunction<?> routerFunction() {
RouterFunction router = resources("/**", new ClassPathResource("static/"));
return router;
}
}
und
@Component
public class CustomWebFilter implements WebFilter {
@Override
public Mono<Void> filter(ServerWebExchange exchange, WebFilterChain chain) {
if (exchange.getRequest().getURI().getPath().equals("/")) {
return chain.filter(exchange.mutate().request(exchange.getRequest().mutate().path("/index.html").build()).build());
}
return chain.filter(exchange);
}
}
Es ist OK zu besuchen "Ressourcen/static/index.html" verwenden, aber während "http://localhost:8080/api/person/all" Besuch , Ich gebe "admin"/"123" für die Authentifizierung ein, aber die Authentifizierung ist fehlgeschlagen.
verwenden Sie das WebFlux Annotationsmodell oder das funktionale? Kannst du etwas Code posten, um zu zeigen, was du versucht hast? –