테스트 사이트 - 개발 중인 베타 버전입니다

api로 게시판 목록 조회시 권한이 없어도 게시물 내용이 조회가 됩니다.

huhhh 12개월 전 조회 1,529

읽기 권한을 2이상으로 설정한 게시판의 게시물을 /api/v1/boards/board_id/writes/1 로 조회하면 

{"detail":"글을 읽을 권한이 없습니다."}
처럼 권한이 체크되서 게시물이 조회가 안되는데, /api/v1/boards/board_id/writes?page=1 처럼 목록을 조회하면 각 게시물 목록 뿐만 아니라 내용까지 모두 조회되서 wr_subject, wr_content 등을 통해 본문이 그대로 보입니다.

 

그누보드 버전은 gnuboard6.0.10 입니다.
이슈 게시판에 글을 써보려고 했더니 권한이 없다고 나오는데 권한 요청드려도 되나요?

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

G
11개월 전

제가 테스트했을때에는 "목록을 볼 권한이 없습니다." 메시지와 함께 403 에러가 발생했습니다.

아마 로그인한 상태에서 /docs 스웨거 UI를 통해 요청하셨을 것 같습니다.

 

소스를 보니 특이한 점이 있습니다.

보통 REST api는 사용자 인증(userid, password)후 Token을 발급받아 매 API 요청시 권한을 검사합니다.

 

그런데 현재 ListPostServiceAPI class 구현은 이러한 token 검사 과정이 없습니다

그럼에도 불구하고 위 403 에러가 발생하는 이유는 ListPostServiceAPI가 상속받은

부모 클래스(ListPostService class)에서 is_list_level() 함수를 통해 로그인한 사용자 세션 정보(member)를

가져와 권한을 체크하고 있기 때문입니다.

 

ListPostServiceAPI 는 '로그인 세션을 통한 member정보 획득 방식'이 아닌, 토큰을 통한 member정보를

가져와서 list요청에 대한 권한을 검사하도록 구현이 필요할 것 같습니다.

 

is_possible_level() 이라는 함수가 이미 존재하는 것으로 보아 이런 목적을 위해 선행 구현해놓으신 것이 아닌가 생각이 듭니다.

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

n
12개월 전

추가 피해자 방지 https://sir.kr/conflictconsultation/245" rel="nofollow noreferrer noopener" target="_blank">https://sir.kr/conflictconsultation/245

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

유찬아빠
12개월 전

목록보기 권한도 체크하셔야 할 듯 합니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

h
huhhh
12개월 전
목록은 비회원도 조회할수 있되 회원만 본문을 읽을 수 있게 하려는데, 목록을 조회하는 api의 결과에 본문의 내용까지 같이 넘어와서 내용이 확인이 되는 상황이에요.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인