문제

Firefox가 NTLM 데이터를 SharePoint 사이트로 보냈으며 자동 인증을 수행 할 수 있다고 생각하며 IIS와 함께 가능하다고 생각합니다.

내부 레일 사이트에서도 같은 일을하고 싶습니다.

Apache/Mongrel 설정을 통해 NTLM 유형 사용자 정보를 인증 할 수있는 방법을 아는 사람이 있습니까 (물론 Active Directory 도메인 내부의 Windows 상자에서 이미 실행되고 있음).

도움이 되었습니까?

해결책

Firefox와 IE를 얻기 위해 NTLM 인증 사항을 다시 보내기 위해 보내야 할 HTTP 헤더를 이미 해결했다고 가정하고 서버 측에서 처리해야합니까?

루비를 사용할 수 있습니다 Win32 라이브러리 NTLM을 처리하는 기본 Windows 인증 기능에 액세스합니다.

저항이 가장 적은 경로는 인증을 수행 할 수있는 COM 구성 요소가 있는지 확인하고 Win32ole Ruby 라이브러리를 사용하여 사용하는 것이 좋습니다.

COM 구성 요소가 없으면 다른 라이브러리 중 하나에서 기본 Win32 방법을 호출 할 수있는 것을 찾을 수 있습니다.

그것을 찾을 수 없다면, 당신은 루비 C 확장을 작성해야합니다. Linux 에서이 작업을 수행했는데 Ruby를 확장하는 것은 매우 쉽지만 Microsoft Authentication API가 약간 고통 스러울 수 있습니다.

당신이 올바른 길을 시작하게되기를 바랍니다 :-)

다른 팁

내가 만들었다 패치 된 mod_ntlm 모듈을 설치하는 방법에 대한 자습서 Linux의 Apache 및 NTLM 인증 사용자 이름을 Rails에 전달하는 방법과 Rails Session을 만드는 방법. 결과적으로 Rails 응용 프로그램을 실행하기 위해 Windows Server가 필요하지 않습니다.

여기에서 Firefox에서 자동 NTLM 인증을 활성화하는 방법을 찾을 수 있습니다. 위치 필드에서 "about : config"를 입력 한 다음 "Network.Automatic-NTLM-Auth.Trusted-Uris"를 검색하십시오. 여기에서 자동 NTLM 인증을 사용하려는 서버를 입력 할 수 있습니다.

누군가가 이것을 우연히 발견 할 경우 약간의 추가 정보.

Mongrel/Windows에서 실행되는 Rails 앱 (실제로 Instantrails)에서 NTLM을 사용하여 사용자 Windows 사용자 이름을 추출하는 일을하고 싶었습니다. 기본 코드를 작성한 다양한 핸드 쉐이킹 작업을 관리합니다 (Great NTLMruby 라이브러리 사용 http://rubyforge.org/projects/rubyntlm/) 그리고 Firefox에서 훌륭하게 일하게되면서 나는 작동하지 않는 것을 발견하기에 다소 좌절했습니다.

Mongrel은 Type1/2/3 메시지 교환 중에도 Keep-Alives를 지원하지 않습니다 (적어도 기본적으로 해킹/수정이 있다고 생각합니다).

따라서 원격 NTLM 서비스 (예 : SharePoint 또는 다른 웹 사이트)에 대해 Windows에서 실행되는 Rails 서버를 인증하는 것은 합리적으로 간단하지만 Mongrel에서는별로 실행되지 않는 Windows에서 실행되는 Rails 서버에 대해 IE 브라우저를 인증합니다. IIS는 FastCGI가있는 기본적인 아파치 일 수 있듯이 옵션이 될 것입니다. 전자는 약간 어리석은 느낌이 들며 후자는 Mongrel만큼 빠르지 않을 것입니다.

당신은 또한 사용할 수 있습니다 Apache NTLM 모듈, 인증 된 사용자의 사용자 이름으로 헤더를 응용 프로그램으로 전달해야합니다. 이 모듈은 약간 오래된 것처럼 보이지만 귀하의 요구에 맞는 다른 모듈을 제안합니다.

내가 아는 오래된 질문이지만 비슷한 대답을 찾고있는이 문제를 발견했습니다.

여기에 설명 된 방법을 사용할 수 있습니다 (http://blog.rayapps.com/2008/12/02/ntlm-windows-domain-authentication-for-rails-application/). 그러나 mod_ntlm은 Unix/Linux 시스템에서 Windows 인증을위한 것입니다. mod_auth_sspi는 Windows에서 Apache에서 Winnt 인증에 필요한 것입니다.

이 특정 프로젝트는 유망한 것으로 보이며 기고자를 찾고 있습니다.

나는 아직 이것을 시도하지 않았다. 현재 Raimonds의 솔루션을 구현할 계획이 많습니다.

체크 아웃 와플. Win32 API를 사용하여 Windows에서 Java 서버에서 SSO를 제공합니다. 여러 구현 필터 (서블릿, Tomcat 밸브, 스프링 보안)가 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top