본문 바로가기

공부/Spring

(45)
스프링 부트 3 백엔드 개발자 되기_18 @RequiredArgsConstructor @Service public class TokenProvider { private final JwtProperties jwtProperties; public String generateToken(me.shinsunyoung.springbootdeveloper.domain.User user, Duration expiredAt){ Date now = new Date(); return makeToken(new Date(now.getTime() + expiredAt.toMillis()), user); } //JWT 토큰 생성 메서드, 인자는 만료시간과 유저 정보를 받는다 이메서드는set계열 메서드를 통해 여러 값을 지정 private String makeToken(D..
스프링 부트 3 백엔드 개발자 되기_17 회원가입되고 db에 데이터 들어간거까지 체크했는데 로그인이 안됨=> @Override public boolean isAccountNonLocked() { return true; } 여기 true를 false라고 해놔서 안된거였음 9장 JWT로 로그인/로그아웃 구현하기 학습목표 : 토큰 기반 인증과 JWT,리프레시 토큰의 개념을 이해하고 토큰 기반 인증인 JWT 토큰 서비스를 구현하고 적용합니다 사용자가 서버에 접근할 때 이 사용자가 인증된 사용자인지 확인하는 방법은 다양함 대표적인 사용자 인증 확인 방법에는 서버 기반 인증과 토큰 기반 인증이 있다. 세션 기반 인증? 스프링 시큐리티에서는 기본적으로 세션 인증을 제공 8장같은 경우 스프링 시큐리티에서 기본적으로 제공해주는 세션 기반 인증을 사용해 사용자마..
스프링 부트 3 백엔드 개발자 되기_16 WebSecurityConfig클래스 오류 @RequiredArgsConstructor @Configuration public class WebSecurityConfig { private final UserDetailService userService; //스프링 시큐리티 기능 비활성화 //스프링 시큐리티의 모든 기능을 사용하지 않게 설정하는 코드다 //인증인가 서비스를 모든 곳에 적용하지 않는다는것, 일반적으로 정적 리소스(이미지,html파일)에 설정 @Bean public WebSecurityCustomizer configure(){ return (web) -> web.ignoring() .requestMatchers(toH2Console()) .requestMatchers("/static/**");..
스프링 부트 3 백엔드 개발자 되기_15 UserDetails 이거 가져다 쓸 수 있는 라이브러리 인식이 안돼서 한참 찾았는데 결국 //스프링 시큐리티를 사용하기 위한 스타터 추가 implementation 'org.springframework.security:spring-security-core:6.0.1' 이렇게 추가해야 하는데 implementation 'org.springframework.boot:spring-boot-strater-security-core:6.0.1' 이거를 추가해서 그런거였다 UserDetails 클래스는 스프링 시큐리티에서 사용자의 인증 정보를 담아두는 인터페이스 스프링 시큐리티에서 해당 객체를 통해 인증 정보를 가져오므로 필수 오버라이드 메서드가 있다
스프링 부트 3 백엔드 개발자 되기_14 8장 스프링 시큐리티로 로그인/로그아웃, 회원가입 구현하기 8-1 스프링 시큐리티? 인증과 인가 인증: 사용자의 신원을 입증하는 과정 ex)사용자가 사이트에 로그인할 때 누구인지 확인하는 과정 인가: 사이트의 특정 부분에 접근할 수 있는지에 권한을 확인하는 작업 ex)관리자는 관리자 페이지에 들어갈 수 있지만 일반 사용자는 못들어감 이런 권한을 확인하는 과정을 인가 인증과 인가 관련 코드를 생으로 작성하려면 시간이 많이 필요하나 스프링 시큐리티를 사용하면 간단하게 처리 가능 스프링 시큐리티: 스프링 기반 애플리케이션의 보안을 담당하는 스프링 하위 프레임 워크 보안 관련 옵션을 많이 제공 애너테이션으로 설정하기도 쉽다 CSRF 공격, 세션 고정 공격을 방어해주고 요청헤더도 보안 처리를 해줘서 개발자가 보안..
스프링 부트 3 백엔드 개발자 되기_13 newArticle.html에 수정 등록 수정부분 빼먹어서 수정이 안됐었던 거임
스프링 부트 3 백엔드 개발자 되기_12 #게시글을 생성할땐 URL에 별도 쿼리 파라미터가 없다. 그러나 수정할 때는 URL에 ?id=123과 같이 수정할 글의 id를 쿼리 파라미터에 추가해 요청 쿼리 파라미터란 HTTP요청에서 URL의 끝에 ? 로 시작하는 키 값으로 이루어진 문자열이며 '&"로 구분 ?id=123 의 경우 키는 id 값은 123 191pg 실행테스트 했는데 수정이 안됨?
스프링 부트 3 백엔드 개발자 되기_11 Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Fri Aug 11 08:38:50 KST 2023 There was an unexpected error (type=Internal Server Error, status=500). An error happened during template parsing (template: "class path resource [templates/articleList.html]") org.thymeleaf.exceptions.TemplateInputException: An error happened during templ..