활성 디렉토리가있는 Mercurial (HG)


15

Active Directory에서 사용자를 인증하기 위해 Mercurial을 설정할 수 있습니까? 필자의 경우 hg는 Windows, Linux 또는 FreeBSD에서 실행할 수 있지만 AD 사용자를 사용해야합니다.

참고 : 가능하면 튜토리얼을 알려주십시오.

답변:


11

글쎄, 나는 튜토리얼로 시작했다 .

완료 한 후 서버에서 다음과 같은 추가 변경을 수행했습니다 (Windows 2008).

  • SSL을 사용하도록 IIS를 구성했습니다.
  • 사이트에 대한 익명 인증을 사용하지 않습니다.
  • 사이트에 대한 기본 및 Windows 인증 사용
  • 리포지토리 폴더에 대한 NTFS 권한을 구성했습니다.

또한 저장소 .hg\hgrc파일에 다음 행을 추가해야 합니다.

클라이언트 측에서는 사용자 이름과 비밀번호를 명시 적으로 지정해야했습니다.

[web]
allow_push = *

5

Windows, Unix에서 작동하고 AD / LDAP로 인증 할 수있는 일부 통합 시스템을 찾고 있다면 RhodeCode http://rhodecode.com을 사용해보십시오 . 리포지토리를 제공하는 bitbucket / github의 로컬 인스턴스입니다. 권한 시스템과 쉬운 사용자 관리, 코드 검토 등이 제공됩니다.


RhodeCode를위한 Yay! :-)
Martin Geisler

4

몇 달 전에 4 부로 구성된 블로그 게시물을 작성하여 Active Directory / IIS를 사용하여 Mercurial의 웹 서버를 호스팅 할 수 있습니다. 그것은 치료를합니다 :

http://www.endswithsaurus.com/2010/05/setting-up-and-configuring-mercurial-in.html

그것은 당신을 안내합니다 :

  • IIS 내에서 Mercurial 설정
  • Python 용 ISAPI 확장 구성
  • 보기 흉한 URL을 숨기기 위해 ISAPI 재 작성
  • Active Directory를 사용하여 보안 권한 구성
  • 웹 UI 사용자 정의

+1, 훌륭한 블로그 게시물. 우리는 Windows 및 Linux 프로젝트 모두에 Mercurial을 시험하고 있습니다. IIS 7.5에 대한이 가이드를 업데이트 할 가능성이 있습니까?
jscott

일단 서버 업그레이드를 시작하게 될 것입니다.
BenAlabaster

3

Ben은 이미 AD를 사용하여 IIS에서 Mercurial을 설정하기위한 유용한 안내서를 제공했습니다.

추가해야 할 것은 Mercurial의 내장 (Fast) CGI 스크립트가 사용자를 인증하지 않는다는 것 입니다. 우리가 제공하는 CGI 스크립트는 인증을 위해 프론트 엔드 웹 서버에 의존합니다. 따라서 스크립트를 호출 하기 전에 인증을 수행하려면 Apache, IIS, nginx, ...를 설정해야합니다 . (그러나 LDAP를 지원하는 Bitbucket 유사 시스템을 AD에 연결할 수있는 경우 우수한 RhodeCode 를 사용할 수 있습니다.)

이러한 우려의 분리는 Mercurial을 매우 유연하게 만듭니다. Active Directory 인증을 원하는 경우 웹 서버의 표준 플러그인을 사용하면됩니다. 많은 사이트에 이미이 설정이 포함되어 있으므로 Mercurial은 "작동"합니다.

따라서 Mercurial은 인증 부분 인 암호를 확인하지 않습니다. 그러나 권한 부여 를 수행 할 수 있으므로 사용자가 밀거나 당기는 등을 허용하거나 금지 할 수 있습니다. 이는 표준 REMOTE_USERCGI 변수에 저장된 사용자 이름을 기반으로 수행됩니다 . 원격 사용자를 인증 한 후이 변수를 설정하는 것은 웹 서버에 달려 있습니다.

Mercurial에서 사용자 이름이 섹션 의 allow_pushallow_read목록 과 일치 [web]하여 사용자가 문제의 저장소를 푸시 또는 풀 / 복제 할 수 있는지 판별합니다. 물론 .hg\hgrc각 리포지토리 에서 파일 을 편집하여 리포지토리별로 구성 할 수 있습니다 .


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