[DSpace 5.x]OAI-PMH indexes metadata of non-public Items

해당 글은 읽기 권한이 제한된 Item이 OAI-PMH 상으로 노출되는 버그에 대한 내용이다.
5.0 버전 으로 업그레이드 되면서 픽스되었다.

https://jira.duraspace.org/browse/DS-1856 의 내용을 한글로 옮겨본다.(이해를 돕기 위해 일부 의역, 첨언한다.)

  • 버그를 재현하는 방법 :
    1) DEFAULT_READ 권한이 익명 그룹에게(또는 어떤 그룹에만 권한이 주어진) 제한된 컬렉션을 만든다.
    2) 그 컬렉션에 ITEM을 제출한다.
    3) “$ ./dspace oai import”를 실행한다. (Path : {dspace.dir}/bin)
  • 결과(오류의 내용):
    Item은 UI(XMLUI 또는 JSPUI)에서 접근이 제한되고, 익명의 사용자는 액세스 할 수 없다.
    그러나, ITEM의 메타 데이터는 OAI-PMH에서 사용할 수 있다.

OAI-PMH의 각 ITEM은 기본적으로 인덱스(색인) 되기 전에 익명 읽기 권한이 확인되어야 한다.
대신, OAI-PMH는 기본적으로는 “in_archive = TRUE” 및 “discoverable = TRUE” 에 의해서 인덱스 된다.
https://github.com/DSpace/DSpace/blob/master/dspace-oai/src/main/java/org/dspace/xoai/app/XOAI.java#L203

참고: 위 시나리오(버그를 재현하는 방법)에서는 “discoverable = TRUE”이러한 항목이 완전히 “private”으로 표시되지 않았다.

대신, 그들은 Resource Policy에 의해 제어 액세스되고있다.(UI 상에서는)
여기서 문제는 그 ITEM들이 OAI-PMH에서는 Resource Policy가 확인되지 않은 것이다.

“Item.getMetadata()”의 오류를 깊이 생각해보면, 메타데이터를 반환하기 전에 Item 읽기 권한 검증을
실패한 것이다. < 솔직히 이부분은 정확히 해석이 어려워서 대충 의미만 끼워 맞춤.

https://github.com/DSpace/DSpace/blob/master/dspace-api/src/main/java/org/dspace/content/Item.java#L521

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다