Skip to content
Open
Changes from 1 commit
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
6290b43
build : SpringSecurity 의존성 추가
tmxhsk99 Aug 13, 2023
d0243f6
feat : SpringSecurity 설정 및 필터 추가
tmxhsk99 Aug 13, 2023
e3d1669
refactor : 인증 인터셉터 관련 로직 삭제
tmxhsk99 Aug 13, 2023
0974cbf
7-1 Spring security, 7-2 인증 까지 보고 진행
tmxhsk99 Aug 14, 2023
f92be3b
기존 TestHelper를 사용하는 계층형 테스트 구조로 수정
tmxhsk99 Aug 15, 2023
ac873fb
fix : 잘못된 테스트 이전 로직 제거
tmxhsk99 Aug 16, 2023
efd50a3
feat : claims 가 null인 경우 에러 처리 로직 추가
tmxhsk99 Aug 16, 2023
a3750b6
feat : 수정 삭제 요청시 Authentication 받도록 매개변수 추가
tmxhsk99 Aug 16, 2023
6178cae
fix : 기존에 하드 코딩되어있던 부분을 수정
tmxhsk99 Aug 16, 2023
6bb268a
feat : 메서드와 경로에 맞게 인증 로직을 수행하도록 관련 로직 추가
tmxhsk99 Aug 16, 2023
4cce0b9
refactor : 불필요한 주석 제거
tmxhsk99 Aug 16, 2023
79bc305
test : 유저 패스워드 기능 테스트 추가 및 해당 변경에 따른 테스트 수정
tmxhsk99 Aug 17, 2023
7e94f4b
feat : 유저 패스워드 암호화 기능 추가
tmxhsk99 Aug 17, 2023
58215a5
build : aop 관련 의존성 추가
tmxhsk99 Aug 18, 2023
3a54892
test : 다른 사용자 토큰 픽스쳐추가
tmxhsk99 Aug 18, 2023
9c49112
fix : 주석 직관적으로 수정, 경로 접근권한 수정
tmxhsk99 Aug 18, 2023
cbdcc48
chore : 불필요한 주석 삭제
tmxhsk99 Aug 18, 2023
1beee7a
test : 상품수정 권한 체크 테스트 추가
tmxhsk99 Aug 18, 2023
887bfb2
feat : 본인권한 관련 AOP 및 어노테이션 추가
tmxhsk99 Aug 18, 2023
9c3aa22
feat : 유저 권한 없음 에러 로직 추가
tmxhsk99 Aug 18, 2023
90903bb
test : secret 값이 서로 다르게 사용하던 것을 통일
tmxhsk99 Aug 19, 2023
3576adf
test : 상품 수정 삭제 권한 테스트 추가
tmxhsk99 Aug 19, 2023
1c516dd
feat : 상품정보에 추가한 유저아이디 속성 추가
tmxhsk99 Aug 19, 2023
d1a71ee
fix : 상품정보의 등록자정보를 가져와 비교하도록 로직 수정, 상품아이디 매개변수식 , 여러개 매개변수있어도 적용되도록 수정
tmxhsk99 Aug 19, 2023
b6eb6eb
feat : 상품 삭제, 상품 수정 시 권한 관련 로직 추가
tmxhsk99 Aug 19, 2023
e1d9b4d
chore : 상품생성 시 메서드 인터페이스 변화에 따른 수정
tmxhsk99 Aug 19, 2023
bf63a41
feat : 상품생성 시 생성자 정보도 추가하도록 로직 수정
tmxhsk99 Aug 19, 2023
29f2d12
chore : 상품생성 시 인터페이스 변경에 따른 수정
tmxhsk99 Aug 19, 2023
17b2f05
chore : 상품생성 시 인터페이스 변경에 따른 수정
tmxhsk99 Aug 19, 2023
5cb56c2
test : 테스트 전용 설정 파일 추가
tmxhsk99 Aug 19, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -59,51 +59,27 @@ private void configureAuthorizations(HttpSecurity http) throws Exception {
.authorizeRequests()
.requestMatchers(this::matchesDeleteUserRequest).authenticated();
}
/**
* POST /products or /products/{상품아이디} 요청에 대해서만 인증을 요구합니다.
* @param req
* @return
*/

private boolean matchesPostProductRequest(HttpServletRequest req) {
return req.getMethod().equals("POST") &&
(req.getRequestURI().matches("^/products$") ||
req.getRequestURI().matches("^/products/[0-9]+$"));
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

주석이 불필요하다기 보다는 여기서 하는 일을 더 설명해주면 좋을 것 같아요.
음... 요청이 상품 생성 요청인지 확인합니다 라고 할 수도 있고
조금 더 자세하게 얘기해서 Javadoc처럼 쓰면
요청이 상품 생성 요청이면 true를, 아니라면 false를 반환합니다.
요렇게 할 수도 있을 것 같아요.


/**
* PATCH /products or /products/{상품아이디} 요청에 대해서만 인증을 요구합니다.
* @param req
* @return
*/
private boolean matchesPatchProductRequest(HttpServletRequest req) {
return req.getMethod().equals("PATCH") &&
req.getRequestURI().matches("^/products/[0-9]+$");
}

/**
* DELETE /products or /products/{상품아이디} 요청에 대해서만 인증을 요구합니다.
* @param req
* @return
*/
private boolean matchesDeleteProductRequest(HttpServletRequest req) {
return req.getMethod().equals("DELETE") &&
req.getRequestURI().matches("^/products/[0-9]+$");
}

/**
* POST /users/{유저아이디} 요청에 대해서만 인증을 요구합니다.
* @param req
* @return
*/
private boolean matchesPostUserRequest(HttpServletRequest req) {
return req.getMethod().equals("POST") && req.getRequestURI().matches("^/users/[0-9]+$");
}

/**
* DELETE /users/{유저아이디} 요청에 대해서만 인증을 요구합니다.
* @param req
* @return
*/
private boolean matchesDeleteUserRequest(HttpServletRequest req) {
return req.getMethod().equals("DELETE") && req.getRequestURI().matches("^/users/[0-9]+$");
}
Expand Down