๋ฌธ์ ์
์คํ๋ง ์ปจํธ๋กค๋ฌ์์ ํน์ ์ค๋ฅ๋ฅผ ์คํํ ๋ ์ค๋ฅ๋ฉ์ธ์ง๊ฐ ๋ฌผ์ํ๋ก ํ์ถ๋๋ค.
๋ค๋ฅธ ์ปจํธ๋กค๋ฌ์์๋ ์ ์์ ์ผ๋ก ํ์๋๋๋ฐ ์ฌ๊ธฐ์๋ง ์ด๋ ๊ฒ ํ์๋๋ค.
ํด๊ฒฐ ๋ฐฉ๋ฒ
์๋ฌ๋ก๊ทธ๋ฅผ ํ์ธํด๋ณด๋
org.springframework.security.authentication.InternalAuthenticationServiceException: ์๊ฑฐ๋, ์ฐพ์ ์ ์๋ ํ์ ์ ๋๋ค.
์์ ๊ฐ์ ์์ธ๊ฐ ๋ฐ์ํ์๋๋ฐ, ์ด๋ฌํ ์์ธ๋ ์ฌ์ฉ์ ์ธ์ฆ๊ณผ์ ์์ ์์ธ๊ฐ ๋ฐ์ํ ๋ ํ์ถ๋๋ค.
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException{
Member member = memberRepository.findByEmail(username).orElseThrow(MemberNotFoundException::new);
return new MemberDetails(member);
}
public class MemberNotFoundException extends MemberException {
public static final String MESSAGE = "์๊ฑฐ๋, ์ฐพ์ ์ ์๋ ํ์ ์
๋๋ค.";
public static final String CODE = "MEMBER-404";
public MemberNotFoundException() {
super(CODE, HttpStatus.NOT_FOUND, MESSAGE);
}
}
ํ์ง๋ง ํด๋น ๋ถ๋ถ์ ๋ฌธ์ ์์ด ์์ธ๊ฐ ์ ์์ ์ผ๋ก ํ์ถ๋๋๋ก ๋์ด์๋ค.
๋ฌธ์ ์ ์ ์ฐพ๋ค๋ณด๋ ์๋์ ๊ฐ์ด ์๋ตํค๋์ Content-Type์ด ์ด์ํ๋ค. ISO-8859-1์ผ๋ก ์ธ์ฝ๋ฉ๋๋ฉด ํ๊ธ์ด ๊นจ์ง๋ค๊ณ ํ๋ค.
์ด๋ถ๋ถ์ ํด๊ฒฐํ๊ธฐ ์ํด Content-Type ๋ถ๋ถ์ ํ์ธํด๋ณด์๋ค.
4๋ฒ์งธ์ค์ setContentType ๋ถ๋ถ์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋๊ฒ ๊ฐ๋ค. ๊ทธ๋์ UTF-8์ ์ฌ์ฉํ ์์๋ ๋ฐฉ๋ฒ์ ์ฐพ์๋ณด๋,
@Deprecated์ด๊ธด ํ์ง๋ง ํ๋ฒ ์ฌ์ฉํด๋ณด์.
๊ฒฐ๊ณผ๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์์ ์ผ๋ก ๋์ํ๋ค!!
ํค๋์๋ ์ ์์ ์ผ๋ก charset = UTF8๋ก ์์ฑ๋์๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋๋ผ๊ณ ๊ฝค ๊ณ ์ํ๋ค. ํ์ง๋ง Content-Type์ ์ง์ ํด์ค๋ ๋ค์ํ ๋ฐฉ๋ฒ์ด ์๋ค๋ ๊ฒ์ ์๊ฒ ๋์๊ณ UTF-8์ ์์คํจ์ ์์์์๋ค...!