Проблема с аутентификацией (SPRING SECURITY) ⇐ JAVA
-
Гость
Проблема с аутентификацией (SPRING SECURITY)
У меня проблема: я использую Spring Security для создания входа в конечную точку. После успешного входа в систему будет создан ответ с токеном. Но когда я использую почтальона для отправки запроса (я использую правильный метод, заголовок содержит токен носителя, токен все еще жив, я также могу декодировать токен), но у меня всегда возникает ошибка 401 вот моя конфигурация
@Бин public SecurityFilterChain securityFilterChain(HttpSecurity http) выдает исключение { вернуть http .cors() .and().csrf().отключить() .authorizeHttpRequests() .requestMatchers("/register/", "/api/test/all", "/api/test/login") .permitAll() .и() .authorizeHttpRequests() .requestMatchers("/users/") .hasAnyAuthority("КЛИЕНТ", "АДМИН", "ЭКСПЕРТ") .и() .authorizeHttpRequests() .requestMatchers("/api/test/customer") .hasRole("ROLE_CUSTOMER") .и() .authorizeHttpRequests() .requestMatchers("/api/test/customer") .аутентифицированный() .и() .formLogin() .defaultSuccessUrl("/api/test/customer") .и() .Обработка исключений() .authenticationEntryPoint(новый AuthenticationEntryPoint() { @Override public void Begin (запрос HttpServletRequest, ответ HttpServletResponse, AuthenticationException authException) выдает IOException, ServletException { response.sendError(HttpServletResponse.SC_UNAUTHORIZED, authException.getMessage()); } }) .и() .строить(); } //и конечная точка, к которой я хочу получить доступ после успешного входа в систему (полная версия — /api/test/customer) @PreAuthorize("hasRole('КЛИЕНТ')") @GetMapping("/клиент") публичная строка дома () { вернуть «Домой после входа в систему для клиента»; } Я хочу это исправить как можно скорее Я использую почтальон для отправки запроса
У меня проблема: я использую Spring Security для создания входа в конечную точку. После успешного входа в систему будет создан ответ с токеном. Но когда я использую почтальона для отправки запроса (я использую правильный метод, заголовок содержит токен носителя, токен все еще жив, я также могу декодировать токен), но у меня всегда возникает ошибка 401 вот моя конфигурация
@Бин public SecurityFilterChain securityFilterChain(HttpSecurity http) выдает исключение { вернуть http .cors() .and().csrf().отключить() .authorizeHttpRequests() .requestMatchers("/register/", "/api/test/all", "/api/test/login") .permitAll() .и() .authorizeHttpRequests() .requestMatchers("/users/") .hasAnyAuthority("КЛИЕНТ", "АДМИН", "ЭКСПЕРТ") .и() .authorizeHttpRequests() .requestMatchers("/api/test/customer") .hasRole("ROLE_CUSTOMER") .и() .authorizeHttpRequests() .requestMatchers("/api/test/customer") .аутентифицированный() .и() .formLogin() .defaultSuccessUrl("/api/test/customer") .и() .Обработка исключений() .authenticationEntryPoint(новый AuthenticationEntryPoint() { @Override public void Begin (запрос HttpServletRequest, ответ HttpServletResponse, AuthenticationException authException) выдает IOException, ServletException { response.sendError(HttpServletResponse.SC_UNAUTHORIZED, authException.getMessage()); } }) .и() .строить(); } //и конечная точка, к которой я хочу получить доступ после успешного входа в систему (полная версия — /api/test/customer) @PreAuthorize("hasRole('КЛИЕНТ')") @GetMapping("/клиент") публичная строка дома () { вернуть «Домой после входа в систему для клиента»; } Я хочу это исправить как можно скорее Я использую почтальон для отправки запроса
Мобильная версия