Я пытаюсь настроить авторизацию для своих служб Spring, но все методы jwt, которые я реализую, считаются неправильными или несуществующими.
это мой код:
Я пытался добавить некоторые старые зависимости, но это не сработало, контролировал некоторые выходные данные, но ничего, код не запускался из-за ошибок
Я пытаюсь настроить авторизацию для своих служб Spring, но все методы jwt, которые я реализую, считаются неправильными или несуществующими. это мой код: [code]package com.capolavoroprova.capolavoro.FirebaseInitializor;
@EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true) @EnableWebSecurity @CrossOrigin(origins = "*") public class FirebaseSecurityFilterConfig {
@Bean public RoleHierarchy gerarchiaRuoli(){ RoleHierarchyImpl gerarchia = new RoleHierarchyImpl(); System.out.println("\n\n\nSono dentro il RoleHieracy generator.\n\n\n "); String listaGerarchia = "ADMIN > SELLER \n SELLER > USER \n USER > ANONYMOUS"; gerarchia.setHierarchy(listaGerarchia); return gerarchia; }
@Bean public DefaultWebSecurityExpressionHandler costumWebSecurityHandler(){ System.out.println("\n\n\nSono dentro il DefaultWebSecurityExpressionHandler.\n\n\n "); DefaultWebSecurityExpressionHandler handler = new DefaultWebSecurityExpressionHandler(); handler.setRoleHierarchy(this.gerarchiaRuoli()); return handler; }
@Bean @CrossOrigin(origins = "*") public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { /*3° letto*/ System.out.println("\n\n\n\nEntro dentro al filtro di sicurezza\n\n\n\n"); http .csrf(AbstractHttpConfigurer::disable) .authorizeHttpRequests( authorize -> authorize //.requestMatchers("/api/v1/caseList/*").hasRole("USER") .requestMatchers("/api/v1/caseList/**").permitAll() .requestMatchers("/api/v1/caseList").permitAll() .requestMatchers("/api/v1/Venditore/*", "/error").permitAll() .requestMatchers("/api/v1/Venditore", "/error").permitAll() .anyRequest().authenticated() ); //I will disable this probably http.oauth2ResourceServer() .jwt() .jwtAuthenticationConverter(this.jwtAuthenticationConverter()); return http.build(); }
@Bean public CorsConfigurationSource corsFilter(){ System.out.println("\n\n\nSono dentro il cors configurer.\n\n\n "); CorsConfiguration config = new CorsConfiguration(); config.addAllowedOrigin("*"); config.addAllowedMethod("*"); config.addAllowedHeader("*");
UrlBasedCorsConfigurationSource origine = new UrlBasedCorsConfigurationSource(); origine.registerCorsConfiguration("/**", config);
return origine; }
/*@Bean public UserDetailsService userDetailsService(){ System.out.println("\n\n\nSono dentro il userDetailsService.\n\n\n "); UserDetails user = User.withDefaultPasswordEncoder().username("username").password("username").roles("USER").build(); return new InMemoryUserDetailsManager(user); }*/
public JwtAuthenticationConverter jwtAuthenticationConverter(){ JwtAuthenticationConverter converter = new JwtAuthenticationConverter(); converter.setJwtGrantedAuthoritiesConverter(jwt-> Optional.ofNullable(jwt.getClaimAsStringList("Role")) .stream() .flatMap(Collection::stream) .map(SimpleGrantedAuthority::new) .collect(Collectors.toList()) ); return converter; }
[/code] Я пытался добавить некоторые старые зависимости, но это не сработало, контролировал некоторые выходные данные, но ничего, код не запускался из-за ошибок
Я пытаюсь обновить свой проект до версии Spring boot 3.3.2, а версия безопасности Spring — 6.3.1.
В коде класс JwtWebSecurityConfigurer используется для установки под полями.
JwtWebSecurityConfigurer
.forRS256(env.getRequiredProperty(...
Я делаю личный проект и пытаюсь настроить API с несколькими конечными точками, защищенными JWT.
Я понятия не имел, как работает Spring Security, поэтому решил посмотреть руководство.В итоге у меня есть работающая конечная точка входа в систему. Тем...
Я делаю личный проект и пытаюсь настроить API с несколькими конечными точками, защищенными JWT.
Я понятия не имел, как работает Spring Security, поэтому решил посмотреть руководство.В итоге у меня есть работающая конечная точка входа в систему. Тем...
Я делаю личный проект и пытаюсь настроить API с несколькими конечными точками, защищенными JWT.
Я понятия не имел, как работает Spring Security, поэтому решил посмотреть руководство.В итоге у меня есть работающая конечная точка входа в систему. Тем...