Я использую весеннюю загрузку с сервисом userdetailed. Когда я захожу через почтальона, он выдает ошибку «status»: 404, - PullRequest
0 голосов
/ 02 мая 2020

Вывод на консоль выглядит так:

In CustomUserDetailsService,loadUserByUsername,username ROA999
2020-05-02 22:45:52.246  INFO 11168 --- [nio-8080-exec-2] o.h.h.i.QueryTranslatorFactoryInitiator  : HHH000397: Using ASTQueryTranslatorFactory
Hibernate: select user0_.user_id as user_id1_1_, user0_.email as email2_1_, user0_.password as password3_1_, user0_.username as username4_1_ from users user0_ where user0_.username=?
Hibernate: select roles0_.user_id as user_id1_2_0_, roles0_.role_id as role_id2_2_0_, role1_.role_id as role_id1_0_1_, role1_.role as role2_0_1_ from users_roles roles0_ inner join roles role1_ on roles0_.role_id=role1_.role_id where roles0_.user_id=?
In CustomUserDetailsService,user com.innovista.security.model.User@16e64638
In CustomUserDetailsService,user 999ROA999msr@innovista.co.in
In CustomUserDetailsService,userDetails are com.innovista.security.service.CustomUserDetails@197225ad
In CustomUserDetails password $2a$10$3FJX26VtWsHMrLbkfHyUMOnquRbENzdY0pO9t5S2zFKNPGnNYuKFi
In CustomUserDetails,roles1 [com.innovista.security.model.Role@36d61742]
In CustomUserDetails username ROA999
In CustomUserDetails username ROA999

Вывод почтальона:

{
    "timestamp": "2020-05-02T17:46:20.010+0000",
    "status": 404,
    "error": "Not Found",
    "message": "No message available",
    "path": "/"
} 

Файл конфигурации соответствует заданному ниже:

 protected void configure(AuthenticationManagerBuilder auth) throws Exception {

        try {

        auth.userDetailsService(userDetailsService).passwordEncoder(encodePWD());

        }catch(Exception e) {
            e.printStackTrace();
        }

      }


@Bean
    public BCryptPasswordEncoder encodePWD() {
    return new BCryptPasswordEncoder();
    }
@Override
protected void configure(HttpSecurity http)throws Exception{
http.csrf().disable();  
http.authorizeRequests().antMatchers("/rest/**").authenticated().and().
formLogin().loginProcessingUrl("/rest/auth/process");

    }

Файл контроллера, как указано ниже:

public class LoginController {

@PostMapping("/process")

public String process() { 

Authentication auth = SecurityContextHolder.getContext().getAuthentication();          
UserDetails userDetails = (UserDetails)auth.getPrincipal();
return (auth.getPrincipal().toString());
        }

Но когда я вхожу через встроенную страницу входа, он принимает. И мой основной класс, и LoginController находятся в одном пакете. Пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 03 мая 2020

Ваш класс LoginController не помечен @ RestController , поэтому Spring не зарегистрировал его как компонент. Пожалуйста, прокомментируйте свой класс.

Если это не помогло, пожалуйста, поделитесь запросом Почты Почтальона

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...