2017-04-18 2 views
0

LDAP에서 사용자를 관리하는 Ruby on Rails 애플리케이션을 구축하면서 나는 이틀 동안 나 자신을 때렸다. 다양한 속성의 포함 및 형식을 미세 조정하는 동안 예외가 제기 된 것 이외에 피드백이 거의없는 ldap.add()이 자주 실패합니다. 일반적으로 누락 된 필수 속성 또는 부적절한 형식의 속성 값과 같은 데이터 유효성 검사 오류라는 것을 알았지 만 필드를 실패한 서버 (Apache DS) 또는 클라이언트 측에서 아무것도 찾을 수 없거나 그것은 실패했다.Net :: LDAP add()가 실패하여 오류 메시지가 표시되지 않았습니다. 기록이 유효하지 않은 이유를 어떻게 알 수 있습니까?

그래서 ... 의 이유는 무엇입니까? LDAP 추가 (또는 바꾸기, 삭제, 열기 등)가 실패했습니다.

답변

0

그런데 나는 ldap.get_operation_result을 우연히 만났고, 나는 진짜 facepalm 순간을 보냈다. 나는 아스날에서 get_operation_result으로 신중하게 검사하여 고통스럽게 해결 한 몇 가지 문제를 고의로 재 작성했으며 문제가 무엇인지 정확히 설명 할 때마다 의도적으로 재 작성했습니다.

이 함수는 예외를 찾아내는 데 유용합니다. 또는 add(), modify(), delete() 등이 단순히 false를 반환하는 경우 유용합니다.

ldap.add(dn: dn, attributes: attributes) 
Rails.logger.info("ldap.add: #{ldap.get_operation_result}") 

위의 스 니펫을 사용하면 지루한 사냥 및 펙 테스트 시간은 물론 내 정신을 간직 할 수 있습니다.

ERR_279 Required attributes [sn(2.5.4.4)] not found within entry uid=david,o=users,dc=example,dc=com" 

는 또한 등,

나쁜 서버 연결 자격 증명에 관련 메시지가 표시됩니다 : 예를 들어

, 여기가 내가 필요한 sn 속성을 제공하지 않은 것으로 나타났다 오류 메시지의 한 부분입니다

HTH

관련 문제