프로젝트/인스타그램 클론 코딩
📌 회원 정보 수정 항목 name // 필수 값 password //필수 값 website bio phone gender ⚡️ UserController 세션에서 user를 가져와서 model로 보낸다. @GetMapping("/user/{id}/update") public String update(@PathVariable("id") Long id, @AuthenticationPrincipal PrincipalDetails principalDetails, Model model){ model.addAttribute("principal", principalDetails.getUser()); return "views/user/update"; } ➡️ html에서 thymeleaf를 이용해 ${principal..
📌 로그인 과정 설명 보통 insert는 get 방식으로 처리하지만, 로그인은 중요한 정보를 처리하는 것이기 때문에 post 방식으로 처리한다. 우리가 처리하기보다는 Spring Security가 처리해준다 (➡️ controller를 만들지 않음) ⚡️ SecurityConfig .formLogin(formConfig -> formConfig.loginPage("/auth/signin") //GET .loginProcessingUrl("/auth/signin") //POST .defaultSuccessUrl("/")) Spring Security에 회원 가입을 구현할 때 구현한 .loginPage("/auth/signin") 코드 밑에 .loginProcessingUrl("/auth/signin")을 ..
더보기 ✔️ username, password, email, name을 입력 받고 회원 가입을 진행하도록 하겠음! 📌 User 엔티티 구현 package yerong.InstagramCloneCoding.domain.user; import jakarta.persistence.*; import lombok.*; import yerong.InstagramCloneCoding.domain.BaseTimeEntity; @AllArgsConstructor @NoArgsConstructor(access = AccessLevel.PROTECTED) @Getter @Entity public class User extends BaseTimeEntity { @Id @GeneratedValue(strategy = Gener..
Security 라이브러리를 등록하면 인증되지 않은 모든 사용자를 /login 으로 redirection 됨 상태 코드 302 = redirect SecurityConfig를 통해 설정해줌 📌 SecurityConfig 세팅 package yerong.InstagramCloneCoding.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.securit..