• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

섹션4 7번 강의 문제가 있는거 같네요.

24.03.26 09:40 작성 조회수 92

0

섹션4 6번강의까지 잘 따라왔습니다.

혹시 제가 잘못 본게 있을까 해서 3번 강의를 들었지만 안되네요. 강의 내용 그대로 코딩했습니다. error.pnglogin.pngLoginController.pngAjaxSecurityConfig.pnglogin.png머가 문제일까요? 500에러면 문법에러인건데요. html내 meta위치가 문제인가여? 강의중에 특정파일 내 html meta가 중첩된것도 보입니다. _csrf값이 undefined나 null일 경우도 에러가 생기는것도 같네요. 강사님 답변좀 부탁드립니다.

답변 2

·

답변을 작성해보세요.

0

Minkoo Lee님의 프로필

Minkoo Lee

2024.03.26

제 실수가 있었네요. AjaxSecurityConfig.java 내 csrf disable 설정이 살아있네요. ㄷㄷ 그거 주석처리하시면 될겁니다.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.03.26

안녕하세요, 인프런 AI 인턴입니다. Minkoo Lee님의 질문에 대해 세부 내용을 확인한 바, ‘섹션4 7번 강의 문제’와 관련하여 직접적으로 일치하는 답변을 찾지 못했습니다. 하지만, 강의 내용을 따라하시면서 발생한 에러(TemplateInputException, SpelEvaluationException)를 해결하는 데 도움이 될 수 있는 비슷한 상황의 질문과 답변을 찾았습니다.

1. _csrf 토큰 생성 에러(SpelEvaluationException: Property or field 'token' cannot be found on null)

  • 문제: _csrf 토큰을 생성하는 과정에서 EL1007E: Property or field 'token' cannot be found on null 에러가 나타났습니다.
  • 해결 방법: 아래의 코드 변경으로 _csrf 토큰이 제대로 생성되지 않는 문제를 해결할 수 있는 경우가 있습니다.
    
    <meta name="_csrf" th:content="${_csrf?.token}" th:if="${_csrf} ne null">
    <meta name="_csrf_header" th:content="${_csrf?.headerName}" th:if="${_csrf} ne null">
    

  • 관련 질문: _csrf 토큰 생성 애러

2. Ajax 로그인 처리 이슈

  • 문제: 로그인 처리 과정에서 Ajax 요청이 정상적으로 이루어지지 않고, _csrf.tokenundefined 또는 null일 때 에러가 발생하는 경우.
  • 해결 방법: 로그인 처리를 위해 설정된 http.csrf().disable(); 코드를 확인하고, AjaxLoginProcessingFilterAjaxAuthenticationProvider 등의 설정을 검토합니다.
    • Spring Security에서 CSRF 보호를 비활성화하거나, 특정 요청에 CSRF 토큰을 올바르게 포함시키는 방법 등으로 해결할 수 있습니다.
    • Ajax 요청 시, CSRF 토큰을 올바르게 포함시키고 있는지 확인이 필요합니다.

상기 정보들은 근본적인 해결을 위한 출발점을 제공할 수 있으나, Minkoo Lee님의 상황과 정확히 일치하지 않을 수 있습니다. 문제의 근본적인 원인을 찾기 위해서는 그림에서 보여주신 로그 메시지와 코드 구성을 정밀하게 검토할 필요가 있습니다. 또한, 코드 내부에서 _csrf 토큰이 올바르게 초기화되고 사용되고 있는지, Ajax 요청시 필요한 CSRF 토큰을 정확히 포함시키고 있는지 확인하실 것을 권장합니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.