게시글
질문&답변
2024.01.07
유저 권한 설정
안녕하세요! 좋은 질문 감사드립니다! 말씀하신대로 상황에 따라 Enum을 사용하시는 것이 유리할 수 있습니다! 하지만 반대되는 의견들도 있는데요! 관련해서 아래 글을 참고하시면 도움이 되실 것 같습니다. https://velog.io/@leejh3224/%EB%B2%88%EC%97%AD-MySQL%EC%9D%98-ENUM-%ED%83%80%EC%9E%85%EC%9D%84-%EC%82%AC%EC%9A%A9%ED%95%98%EC%A7%80-%EB%A7%90%EC%95%84%EC%95%BC-%ED%95%A0-8%EA%B0%80%EC%A7%80-%EC%9D%B4%EC%9C%A0 PS. 저는 꼭 Enum을 쓰지말자! 는 아닙니다. 😄
- 0
- 2
- 247
질문&답변
2024.01.02
setAuthentication
안녕하세요! @PostMapping("/authenticate")의 경우 로그인을 위한 API이기 때문에 permitAll() 설정이 적용되어 있습니다. 이로직에서는 로그인이 정상적으로 수행되었을 때 인증 정보를 컨텍스트에 저장합니다. 이때는 JwtFilter의 doFilter가 수행되지 않습니다. //SecurityConfig .authorizeHttpRequests(authorizeHttpRequests -> authorizeHttpRequests .requestMatchers("/api/hello", "/api/authenticate", "/api/signup").permitAll() .requestMatchers(PathRequest.toH2Console()).permitAll() .anyRequest().authenticated() ) JwtFilter의 doFilter는 permitAll() 설정이 적용되지 않은 다른 호출에서만 적용됩니다. //SecurityConfig .with(new JwtSecurityConfig(tokenProvider), customizer -> {}); //JwtSecurityConfig @Override public void configure(HttpSecurity http) { http.addFilterBefore( new JwtFilter(tokenProvider), UsernamePasswordAuthenticationFilter.class ); }
- 0
- 1
- 350
질문&답변
2024.01.02
postman에서 오류가 납니다..
안녕하세요! 포스트맨에 설정하신 정보들과 하단의 Console 탭에 출력되는 내용들을 올려주실 수 있으실까요?
- 0
- 2
- 1K
질문&답변
2023.12.06
Spring boot 3.1.5 기준 학습 정리 파일 공유
Spring Boot 3.2.0 버전에 맞춰 샘플 코드를 수정해놓았습니다. 혹시 필요하시면 참고하시면 좋을 것 같습니다 🙂 Java : https://github.com/SilverNine/spring-boot-jwt-tutorial Kotlin : https://github.com/SilverNine/spring-boot-jwt-tutorial-kotlin
- 1
- 3
- 771
질문&답변
2023.12.06
Spring boot 3.1.5 기준 학습 정리 파일 공유
안녕하세요! 🙂 본 강의를 만들어서 올린 개발자입니다. 진행하는 프로젝트로 인하여 정신이 없어서 한동안 인프런에 접속을 못했었는데요. 정말 오랜만에 접속하는 인프런에서 이런 소중한 학습 정리 글을 발견하게 되었습니다. 파일을 공유해주셔서 진심으로 감사드립니다. 앞으로 준성님의 개발자로서의 행보에 큰 행복이 있으시길 기원드립니다 🙂
- 1
- 3
- 771
질문&답변
2021.09.11
lombok 실무에서 고려해야 하는 점이 있는게 뭔가요?
안녕하세요 답변이 늦어 죄송합니다. 주의해야할 점은 아래 글들을 참고하시면 좋을 것 같습니다. https://kwonnam.pe.kr/wiki/java/lombok/pitfall https://velog.io/@aidenshin/%EB%82%B4%EA%B0%80-%EC%83%9D%EA%B0%81%ED%95%98%EB%8A%94-JPA-%EC%97%94%ED%8B%B0%ED%8B%B0-%EC%9E%91%EC%84%B1-%EC%9B%90%EC%B9%99
- 2
- 1
- 1.1K
질문&답변
2021.09.11
Refresh Token, Logout
안녕하세요 답변이 늦어 죄송합니다. Refresh Token을 사용하는 방식으로 하시려면 아래 블로그의 내용을 참고하시면 좋을 것 같습니다. https://ayoteralab.tistory.com/entry/Spring-Boot-32-JWT-%EC%9D%B8%EC%A6%9D-%EA%B0%B1%EC%8B%A0%EC%B2%98%EB%A6%AC-1 그리고 로그아웃시에는 클라이언트와 서버에 저장되어 있는 토큰을 삭제하는 것으로 처리하는 것이 좋을 것 같습니다.
- 1
- 1
- 3.4K
질문&답변
2021.09.11
MSA @PreAuthorize
안녕하세요 민준님 답변이 늦어 죄송합니다. 틀린 부분은 없으신 것 같습니다. MSA와 같은 환경에서 분리된 Auth Server를 Spring으로 구현하려 하시려면 아래 내용을 참고하시면 좋을 것 같습니다. https://docs.spring.io/spring-security-oauth2-boot/docs/2.0.x/reference/htmlsingle/ Authorization Server, Resource Server에 대한 내용을 학습하시면 도움이 되실 것으로 생각됩니다.
- 1
- 1
- 400
질문&답변
2021.09.11
SecurityContextHolder.getContext().setAuthentication(authentication);
안녕하세요 답변이 늦어 죄송합니다. doFilter에서 setAuthentication 하는 부분은 헤더에 토큰이 있는 경우이고, 로그인 요청 시 에는 헤더에 토큰이 없기 때문에 doFilter에서는 해당 부분을 수행하지 않고 setAuthentication 하는 부분은 로그인 생성 후에 토큰을 스레드 내 인증정보의 저장소 역할을 하는 SecurityContextHolder에 저장하고 사용하게 됩니다. 쉽게 풀어서 설명드리자면 Spring으로 요청이 들어왔을때 헤더의 인증정보를 스레드 내 저장소에 담아놓고 해당 스레드에서 필요 시 꺼내서 사용한다고 이해하시면 될 것 같습니다.
- 1
- 2
- 471
질문&답변
2021.09.11
jwt 값 헤더 세팅은 어떻게 유지시킬까요?
안녕하세요 답변이 늦어 죄송합니다. Controller에서 response.sendRedirect("/api/user") 의 형태로 리다이렉트를 하면 헤더에 있는 Authorization 값은 유지될 것 같습니다. 아래 프로젝트에 간단한 샘플 남겨놓았습니다. https://github.com/SilverNine/spring-boot-jwt-tutorial
- 2
- 1
- 1.2K