24.05.26 13:19 작성
·
144
0
[로그인 로그아웃] 강의까지 수강했는데 도저히 막막해서 고민하다가 답답한 마음에 올립니다.
홈-가입-정보입력-로그인 눌러도 정보가 나타나지 않고 로그인/가입도 프로필/알림 이런 게 아예 안 뜹니다.
그리고 로그인탭을 누르면 우리가 만든 로그인 폼이 아니라 시큐리티 로그인으로 이동하고, 시큐리티 로그인을 해도 시큐리티 로그인화면이 localhost:8080/login으로 나올 뿐입니다.
로그인이 잘 돼서 로그인/가입이 프로필/알림 등으로 잘 보일 수 있도록 코드 어떻게 수정하면 좋을지 도와주세요.
가장 마지막까지 작성한 코드입니다. [로그인로그아웃 13:20]까지 수강했습니다.
https://drive.google.com/file/d/1D3FexWWHLE0SZrdumtZVRmuqJFP5Atl6/view?usp=sharing
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
YOIEO_0120님의 문제 설명을 들으니, 로그인 과정에 문제가 생긴 것 같습니다. 현재 상황에서는 구체적인 코드를 확인할 수 없어 정확한 원인 분석이 어렵지만, 일반적으로 로그인/로그아웃 과정에서 발생할 수 있는 문제들에 대한 몇 가지 가능성을 제시하겠습니다.
스프링 시큐리티 설정 확인: 스프링 시큐리티는 매우 강력한 보안 기능을 제공하지만, 설정이 복잡할 수 있습니다. 로그인 폼 대신 스프링 시큐리티 기본 로그인 페이지로 리다이렉트되는 문제는 스프링 시큐리티의 securityFilterChain 또는 WebSecurityConfigurerAdapter 설정에서 커스텀 로그인 페이지 경로가 올바르게 설정되지 않았을 때 발생할 수 있습니다. 예를 들어, .loginPage("/login")
과 같이 로그인 페이지 경로를 커스텀 설정해야 합니다.
Controller에서의 로그인 로직 확인: 로그인 로직을 처리하는 Controller에서 요청을 올바르게 처리하고 있는지 확인합니다. 예를 들어, 로그인 성공 시 사용자를 올바른 페이지로 리다이렉트하는지, 실패 시 적절한 에러 메시지를 반환하는지 등입니다.
Thymeleaf 또는 프론트엔드에서의 세션 정보 확인: 로그인 후 세션 정보가 제대로 유지되는지, 세션 정보를 기반으로 프론트엔드에서 사용자의 로그인 상태를 정확히 반영하고 있는지 확인합니다. Thymeleaf에서는 ${session}
객체를 통해 세션 정보에 접근할 수 있습니다.
스프링 시큐리티 디버그 로그 활성화: application.properties 또는 application.yml에서 스프링 시큐리티 관련 로그 레벨을 DEBUG로 설정하여, 스프링 시큐리티가 요청을 어떻게 처리하는지 로그를 통해 확인할 수 있습니다. 예: logging.level.org.springframework.security=DEBUG
상기 내용들을 검토해 보시고, 문제가 해결되지 않는다면 더 구체적인 설정 내용이나 코드와 함께 다시 문의해 주시면 도움을 드리기 위해 최선을 다하겠습니다.