mypage페이지를 개발하기 앞서 일단 브랜치를 git flow 전략에 맞춰 나눠줄 예정이다.
혼자 mypage 개발을 할 예정이다 보니 너무 상세하게 기능별로 나누진 않고
- feature/mypage_reservation_history (예약내역)
- feature/mypage_coupons_list (쿠폰리스트)
- feature/mypage_edit_profile (내정보수정)
- feature/mypage_login_history (로그기록)
- feature/mypage_account_deletion (회원탈퇴)
이런식으로 섹션별로 나눠줄 생각이다.
아직 git이 능숙하지 않아서 너무 세세하게 나누면 지금의 나로서는 너무 부담이여서 이런식으로 시작을 해보도록 하겠다.
브랜치 생성
현재 브랜치 목록
$ git branch
development
* feature/sign (현재 브랜치 위치)
master
// 새로운 브랜치 생성
$ git branch feature/Reservation_History
// 생성한 브랜치로 이동
$ git checkout feature/Reservation_History
마이페이지로 이동하기 위한 스프링 시큐리티 경로 설정
// 모든 페이지에 대한 접근권한 설정, 사이트 위변조 방지 해제
http //authorizeHttpRequests 어떤 요청에 대해 어떤 권한이 필요한지 설정
.authorizeHttpRequests(auth -> auth
//.requestMatchers : 특정 URL 지정
// 인증 없이 접근 가능
.requestMatchers("/css/**", "/js/**", "/images/**", "/fonts/**", "/scss/**").permitAll() // 정적 리소스
.requestMatchers("/", "/sms/send", "/signin", "/signup", "/idcheck", "/signform", "/lostpass", "/find-userId", "find-password", "/logout-success").permitAll()
.requestMatchers("/tour/**","/hotel-single/**").permitAll()
.requestMatchers("/seller-main.do", "/reservation.do", "/reservation-search.do", "/reservation-daily.do", "/reservation-monthly.do",
"/basic-rate-list.do", "/getRoomRates", "/basic-rate-write.do", "/season-period.do", "/extra-delete", "/periods-update").permitAll()
.requestMatchers("/member/mypage", "/mypage").hasRole("USER") // 일반유저 권한을 가진 사용자만 접근 (추후 수정)
// hasRole([role]) : 현재 사용자의 권한이 파라미터의 권한과 동일한 경우 true
//.hasAnyRole("ACCOMMODATION_ADMIN", "SITE_ADMIN", "USER") //여러 권한 허용
.anyRequest().authenticated() // 그 외 모든 요청은 인증 필요
// .authenticated()는 특정 권한이 아니라, 사용자가 로그인되어 있는지 여부
)
일단 다른 팀원들과의 코드가 통합되지 않아서 일단 경로정도만 다들 허용해주고,
내가 개발할 mypage만 권한 설정을 적용 (로그인한 일반 유저만 접근)
.requestMatchers("/member/mypage", "/mypage").hasRole("USER") // 일반유저 권한을 가진 사용자만 접근 (추후 수정)
마이페이지로 이동
// 마이페이지로 이동
@GetMapping("/mypage")
public String mypage() {
return "/member/mypage";
}
