2017-10-06 3 views
0

기본 가이드를 참조하여 Apache Solr 6.6.1을 배포했습니다. 결국 그들은 보안 기능을 가진 곱슬 머리를 사용하는 방법을 논의했습니다. 필자의 경우 SOLR 쿼리에 REST API를 사용하고 있습니다. 기본 인증으로 인해이 쿼리를 사용하고 있습니다. https://user:[email protected]/solr/ ... 내 사용자 & paswd가 노출됩니다. 외부 worl에 노출되지 않는 REST API를 사용하여 기본 인증을 사용하는 가장 안전한 방법을 알고 싶습니다.Solr 6.6.1에서 REST를 사용한 기본 인증

답변

0

당신이 here을 볼 수 있듯이 :

이러한 URL의 사용은 지원되지 않습니다. Chrome에서 사용자 이름 : 암호 @ 의 URL은 보안 상 이유로 제거됩니다. Firefox에서는 실제로 사이트에 인증이 필요하면 을 선택하고 " "사용자 이름 "username"으로 사이트에 "www.example.com"에 로그인하려고합니다. 하지만 웹 사이트에는 인증이 필요하지 않습니다.이 시도는 님을 속일 수 있습니다. ".

당신은 당신의 URL에 노출 할 필요가 없습니다, 당신은 귀하의 요청에 "인증"헤더를 추가해야합니다. 이 값은 안전하지 않은 Base64로 인코딩 된 "username : password"를 갖지만 https를 사용하기 때문에 값은 보호됩니다.

헤더의 전체 값은 "Basic dXNlcm5hbWU6cGFzc3dvcmQ ="와 같을 것입니다. 이것은 인증 유형 ("Basic")과 공백과 Base64로 인코딩 된 "username : password"값을 더한 것입니다.

+0

제게이 예제를 제공해 주시겠습니까? 인코딩 된 값을이 형식 ("Basic dXNlcm5hbWU6cGFzc3dvcmQ =")으로 구성하고 https 요청에 사용하는 방법 ? –

+0

원하는 방식에 따라 다릅니다. 레스트 클라이언트 (PostMan, ARC, ...)는 인증을 기본으로 설정하고 자격 증명을 제공하면이 작업을 자동으로 수행합니다. 자바에서는 http 클라이언트를 다음과 같이 구축 할 수 있습니다. https://stackoverflow.com/a/3283496/4891223 –

+0

브라우저 주소 표시 줄에 제공하는 URL로 사용하고 싶습니다. 프롬프트없이 데이터를 반환해야합니다. 로그인. 내가 완전한 URL 형식을 기본 인증 사용자 & pswd에 있지만 인코딩 된 양식을 원한다. –