wget으로 LDAP 인증을 어떻게 수행합니까?


1

내가 소유 한 오래된 Reviewboard 서버를 크롤링하여 정적 복사본을 만들어 보관할 수 있으며, 서버를 크롤링하고 다운로드하는 권장 방법을 사용하여 몇 사람의 권장 사항에 따라 wget을 사용 하여이 작업을 수행하고 있습니다. :

wget --recursive --no-clobber --page-requisites --html-extension --convert-links --domains $DOMAIN --http-user $USERNAME  --ask-password $THE_SERVER

그러나 서버에는 LDAP 인증 로그인이 필요하므로 로그인 페이지와 관련 파일 만 있으면됩니다. 내가 --user아닌 오히려 같은 문제가 발생합니다 --http-user.

내 질문은 wget으로 LDAP 인증을 수행 할 수 있습니까? 그렇다면 어떻게합니까?

이 의견이 올 것이라고 확신하기 때문에 :

  1. rb-tools를 사용하여 JSON 아카이브를 이미 만들었지 만 정적 웹 복사본을 선호합니다.
  2. 서버의 관리자이기 때문에 익명의 읽기 전용 액세스를 허용하는 옵션이 있지만 가능하면이를 피하고 싶습니다.

답변:


1

LDAP는 인증 메커니즘 이 아니라 계정 저장소 백엔드 일뿐입니다 . MySQL 등에 계정을 저장하는 것과 본질적으로 동일합니다. 따라서 HTTP 클라이언트에 관한 한 "LDAP 인증"과 같은 것은 없습니다.

HTTP의 실제 메커니즘 비밀번호 기반 로그인의 경우 "기본"또는 "다이제스트"또는 Kerberos 기반 로그인의 경우 "협상"입니다. --http-user당신의 웹 사이트가 그 중 하나를 사용하면 옵션이 작동합니다.

그러나 웹 사이트는 양식 / 쿠키 기반 로그인 페이지를 사용할 가능성이 높습니다.이 페이지는 HTTP 클라이언트와 일반 웹 페이지로의 리디렉션과 완전히 구분할 수 없습니다. Wget 해당 양식을 자동으로 인식하고 채울 수 없습니다 .

그런 경우, 당신이 수있는 일은 다음 wget과의 "쿠키 항아리"파일에 필요한 세션 쿠키를 복사 (또는 가능하게하여 직접 통과, 일반 웹 브라우저를 통해 로그인입니다 --header). 그러면 웹 사이트에서 로그인 한 것으로 인식합니다.

Chrome 또는 Firefox에서 "개발자 도구"→ "네트워크"를 열면 각 네트워크 요청에 전체 curl명령 행 을 제공하는 "URL로 복사"옵션이 있습니다 . --header …세션 쿠키를 보내는 특정 옵션을 찾아 wget에 제공하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.