나는이 작업을 몇 시간 전에 도착 솔루션을 게시 할 시간이 없었습니다.이 페이지의 예를 바탕으로
는 :
How to write a simple custom partition for apache ds.
나는 초기 파티션을 구축 할 수 있었다. 그러나 이것은 내 경우에 유용하지 않았다. ApacheDS에 더 좋은 문서가 있다면 그것은 좋을 것입니다.
필터링을 위해 Apache Developers List에서 기본적으로 당신을 도울 수업이 없다고 이메일을 받았는데, 당신이 그것을 스스로 해줘야합니다. 곧 내 코드를 개선하는 데 도움이됩니다.)
이
if(ctx.getFilter().toString().contains("objectClass=person")) {
//Somehow return entries that only correspond to persons on the data base (were you store your directory entries).
}
사실, 통지가 위의 코드 예제는 작동하지 않습니다 ApacheDS가 속성을 변환 이후 :
는 예를 들어, 다음과 같은 일을 수행해야합니다 (방법 objectClass = 사람) 필터를 가지고 이름을 OID에 대응시킵니다. 따라서 "objectClass"대신 "objectClass"속성의 OID 인 2.5.6을 얻습니다.
이제 검색 범위와 관련하여 JPBlanc의 답변에 대해서는 거의 설명되어 있지 않으므로 나는 그가 말한 것을 반복하지 않습니다. 사용자 정의 파티션에서 트리 케이스를 다르게 처리 할 코드를 작성해야합니다. 예를 들어
:
switch (ctx.getScope()) {
case OBJECT:
//Find a particular entry on your entry database.
case ONELEVEL:
//Find all entries that match directly below a given entry.
case SUBTREE:
//Find all entries that match recursively below a given entry.
감사합니다.
감사합니다. 이것은 정말 유용한 정보입니다. – jmend