• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

request.getInputStream() 에서 에러 발생하는데 답이 없네요..;;

21.12.12 15:58 작성 조회수 988

0

강좌따라하다가 에러가 나는데요..저기 표시된 부분을 실행시킬때 에러가 나서 try catch문 밖으로 튕겨져 나갑니다.아무리 영상 돌려보기를 해도 안되네요..

request.getInputStream() 하면 에러가 나서 try에 넣었던것 아닌가요? 어찌보면 저 부분에서 튕기는게 당연한거 같기도 한데..

영상에서는 User에 담겨져서 User 값이 로그에 찍혀야 하는데 전 그냥 넘어가 버리네요..;;

@Override
public Authentication attemptAuthentication(HttpServletRequest request, HttpServletResponse response) throws AuthenticationException {
System.out.println("JwtAuthenticationFilter: 로그인 시도중");
//1. username, password 받아서
try{

// BufferedReader br = request.getReader();
// String input = null;
// while((input=br.readLine())!=null){
// System.out.println(input);
// }

ObjectMapper om = new ObjectMapper();
User user = om.readValue(request.getInputStream(), User.class); <=== 이부분에서 에러나서 try에 걸림
System.out.println("user : " + user);
//2. 정상인지 로그인 시도를 해봄 authenticationManager로 로그인 시도를 하면
// PrincipalDetailsService가 호출되어 loadUserByUsername이 호출됨
UsernamePasswordAuthenticationToken authenticationToken =
new UsernamePasswordAuthenticationToken(user.getUsername(),user.getPassword());

Authentication authentication = authenticationManager.authenticate(authenticationToken);

// authentication 객체가 session영역에 저장됨 => 로그인 되었다는 뜻
PrincipalDetails principalDetails = (PrincipalDetails) authentication.getDetails();
System.out.println(principalDetails.getUser().getUsername());

return authentication;
}catch (Exception e) {

}
System.out.println("============================================");

//3. PrincipalDetails를 세션에 담고 (세션에 안담으면 권한관리가 안됨 SecurityConfig에 설정된 것들이 적용이 안됨됨)
//4. jwt토큰을 만들어서 응답해주면 됨
return null;
}
 
==============================================
 
아래는 출력
JwtAuthenticationFilter: 로그인 시도중 ============================================

답변 1

답변을 작성해보세요.

0

catch문에 로그 찍어보시고, e.printstacktrace() 요....

 

그 로그 캡쳐해서 올려봐요 ㅎ

afgman4님의 프로필

afgman4

질문자

2021.12.14

아.. 스택트레이스 하니 보이네요.

찾았습니다 감사합니다.

넵 ㅎ