AjaxAuthenticationSuccessHandler 관련 질문
342
작성한 질문수 3
안녕하세요 강사님!
실습을 진행하다가 오류가 생기는 부분이있어서 질문드립니다.
AjaxAuthenticationSuccessHandler 부분에서
@Override
public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication)
throws IOException, ServletException {
Account account = (Account) authentication.getPrincipal();
response.setStatus(HttpStatus.OK.value());
response.setContentType(MediaType.APPLICATION_JSON_VALUE);
objectMapper.writeValue(response.getWriter(),account);
}
Rest방식으로 user를 호출했을 때, 302에러와 함께
Account account = (Account) ... 부분에서 타입캐스팅 관련 오류가 뜹니다. 그래서 Account 가 아닌 기존의 Object 형으로 받아서 진행하면 오류없이 잘 진행이됩니다. authentication.getPrinciple() 이 String을 반환하는 코드는 아무리 찾아봐도 없는데 String cannot be cast to... 오류가 뜨는것이 이해가 가지 않아 질문드립니다.
답변 1
1
네
일단 authentication.getPrinciple() 에서 어떤 값이 나오는지 확인해 보시기 바랍니다
그리고 인증에 성공한 이후에 principal 속성에 어떤 값을 저장했는지도 확인해 보시기 바랍니다
일반적으로 인증에 성공한 이후에는 UserDetails 타입의 유저객체를 생성해서 Authentication 객체의 Principal 속성에 저장하게 됩니다.
Principal 속성의 타입은 Object 이기 때문에 어떤 타입도 저장이 가능하지만 인증 이후에는 String 타입의 값을 저장하지는 않습니다.
인증을 시도하는 경우 사용자가 입력한 String 타입의 username 을 Authenticationl 의 Principal 속성에 저장하지만 질문하신 내용은 인증을 처리한 이후 시점이기 때문에 String 타입의 값을 저장하지는 않을 것으로 보여집니다.
확인 해 보시면 될 것 같습니다.
시큐리티 공부 버전 질문
0
188
1
[해결 방법] MethodSecurityConfig.customMethodSecurityMetadataSource() 호출하지 않는 이슈
0
196
1
AbstractSecurityInterceptor.class.beforeInvocation()를 2번 실행하는 경우
0
185
1
강의 코드가 왜이렇게 뒤죽박죽인가요...
0
270
1
메인 페이지로 접속해도 login url로 리다이렉트가 되지 않습니다..
0
247
1
파라미터값이 넘어가지 않습니다 ....
0
381
1
security filterChain 설정 질문이 있습니다.
0
336
1
소스 부분 질문 드립니다.
0
212
2
섹션4 7번 강의 문제가 있는거 같네요.
0
351
2
파일이 수시로 이름이 바껴있네요 ㄷㄷ
0
308
1
HttpSessionSecurityContextRepository를 사용안하는 문제
0
563
2
error , exception 이 잘 안됩니다.
0
288
2
thymeleaf tag 질문합니다.
0
200
2
버전업하면서 deprecated된 것들이 너무많아요
0
482
1
spring security 패치 관련
0
442
1
모바일을 사용할때 토큰말고 세션
0
863
2
DB 연동한 인가 부분에 대한 질문입니다!
0
267
1
Ajax방식도 똑같이 Session방식을 사용하는건가요?
0
311
1
Config 파일 생성 시 질문이 있습니다.
0
233
1
강사님 몇일동안 구글 검색만 100개 했는데도 이유를 모르겠습니다..
1
440
2
403 에러 뜹니다.
0
817
2
login_proc의 존재에 대한 간략한 설명입니다
0
280
1
top.html에 로그인 링크를 만들어서 로그인을 해봤습니다
0
290
2
안녕하세요. DB에 저장될 때 이해 안 가는 값이 있어서 질문드립니다!
0
193
1





