Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: API 접근 권한 설정 #21

Merged
merged 16 commits into from
Aug 5, 2023
Merged

feat: API 접근 권한 설정 #21

merged 16 commits into from
Aug 5, 2023

Conversation

versatile0010
Copy link
Member

@versatile0010 versatile0010 commented Aug 5, 2023

변경 사항


회원 로그인 기능

  • (before) 일반 회원, 관리자 구분 없이 처리
  • (after) 일반 회원 가입 시 ROLE_MEMBER 부여, 관리자 회원 가입 시 ROLE_ADMIN 부여

MemberGrade 값과 SpringSecurity.Granularity 맞추기

  • 다음에는 Role table 을 만드는 게 더 괜찮을 것 같다는 교훈을 얻음..

회원 , JWT authorities 변경

  • (before) 일반 회원 = {ROLE_MEMBER}, 관리자 회원 = {ROLE_MEMBER, ROLE_ADMIN}
  • (after) 일반 회원 = {ROLE_MEMBER}, 관리자 회원 = {ROLE_ADMIN}

API 별 접근 권한 설정

  • 애노테이션 기반으로 설정하기 때문에 추후 변경이 매우 쉬움

POST /auth/login

  • No Auth

POST /brands

  • ADMIN

GET /brands

  • MEMBER
  • ADMIN

GET /brands/{bid}

  • MEMBER
  • ADMIN

GET /categories

  • MEMBER
  • ADMIN

POST /coupons

  • ADMIN

PATCH /coupons/stamp/{cid}

  • ADMIN

PATCH /coupons/status/{cid}

  • MEMBER
  • ADMIN

PATCH /users/

  • MEMBER
  • ADMIN

GET /users

  • MEMBER
  • ADMIN

GET /users/{mid}/brands

  • MEMBER
  • ADMIN

POST /stores

  • ADMIN

GET /coordinate

  • ADMIN

GET /nearby

  • MEMBER
  • ADMIN

회원 탈퇴, 수정

  • (before) mid 는 path parameter 으로 얻어옴
  • (after) mid 는 jwt 에서 얻어옴

TODO

  • 쿠폰 상태 일괄 처리 하는 방법..?
  • 리팩토링

limsubinn and others added 16 commits August 6, 2023 01:17
- application.yml
- deploy.sh
- 주석 처리 시 MemberServiceTest failed
[before] Member 엔티티
[after] UserDetails 인증 객체
- role = admin 이면 ROLE_ADMIN
- role = member 이면 ROLE_MEMBER
[before] 일반회원={ROLE_MEMBER}, 관리자={ROLE_MEMBER,ROLE_ADMIN}
[after] 일반회원={ROLE_MEMBER}, 관리자={ROLE_ADMIN}
[before] 모든 role 이 다 auth 클레임에 들어감
[after] 회원이 해당하는 role 만 auth 클레임에 들어감
- swagger 에 접근 가능한 권한 명시함
- 접근 권한은 추후 쉽게 변경가능
[before] id 를 path param 으로 얻어옴
[after] jwt 을 통해 id 를 얻어옴
… into feature/member

# Conflicts:
#	src/main/java/com/example/couphoneserver/controller/StoreController.java
#	src/main/resources/import.sql
- 접근 권한 설명은 swagger 에 명시함
@limsubinn
Copy link
Contributor

limsubinn commented Aug 5, 2023

고생하셨습니다 😭
일단 머지하고 ,, 다시 볼게요

@limsubinn limsubinn merged commit 014abfe into main Aug 5, 2023
3 checks passed
@versatile0010
Copy link
Member Author

고생하셨습니다 😭
일단 머지하고 ,, 다시 볼게요

넵! 이상한거있으면 알려주세요 😢 파이팅 ..

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants