web-dev-qa-db-ja.com

Active Directoryを使用したMercurial(hg)

Active Directoryでユーザーを認証するようにMercurialを設定できますか?私の場合、hgはWindows、Linux、またはFreeBSDで実行できますが、ADユーザーを使用する必要があります。

注:可能であれば、チュートリアルを教えてください。

15
Zote

さて、私は this チュートリアルから始めました。

それが終わったら、サーバー(Windows 2008)で次の追加の変更を加えました。

  • SSLを使用するようにIIS;
  • サイトの匿名認証を無効にしました。
  • サイトの基本認証とWindows認証を有効にしました。
  • リポジトリフォルダに設定されたNTFSアクセス許可。

また、リポジトリの.hg\hgrcファイルに次の行を追加する必要があります。

クライアント側では、ユーザー名とパスワードを明示的に指定する必要がありました。

[web]
allow_Push = *
11
Regent

Windowsで動作し、UNIXで動作し、AD/LDAPで認証できる統合システムを探している場合は、RhodeCodeを試してください http://rhodecode.com これはbitbucket/githubのローカルインスタンスのようなものです。リポジトリを提供します。許可システムと簡単なユーザー管理、コードレビューなどが付属しています。

5
marcinkuzminski

数か月前に、Active Directory/IISを使用してMercurialのWebサーバーをホストできるようにする4部構成のブログ投稿を書きました。それは御馳走を動作します:

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

それはあなたを案内します:

  • IIS内でのMercurialのセットアップ
  • Python用のISAPI拡張機能の構成
  • 醜いURLを隠すためのISAPIの書き直し
  • ActiveDirectoryを使用したセキュリティ特権の構成
  • WebUIのカスタマイズ
4
BenAlabaster

ベンは、ADを使用してIISでMercurialをセットアップするための優れたガイドをすでに提供しています。

追加したいのですが、知っておく必要がある重要なことは、Mercurialの組み込み(Fast)CGIスクリプトがユーザーを認証しないことです 。私たちが提供するCGIスクリプトは、認証を行うためにフロントエンドWebサーバーに依存しています。したがって、Apache、IIS、nginx、...をセットアップして、スクリプトを呼び出す前に認証を行う必要があります。 (ただし、ADにも接続できるLDAPサポートを備えたBitbucketのようなシステムが必要な場合は、優れた RhodeCode を使用できます。)

この関心の分離により、Mercurialは非常に柔軟になります。ActiveDirectory認証が必要な場合は、Webサーバーの標準プラグインを使用するだけです。多くのサイトですでにこの設定が行われているため、Mercurialは「正常に機能」します:-)

したがって、Mercurialはパスワード(認証部分)をチェックしません。ただし、認証を実行できます。つまり、ユーザーによるプッシュやプルなどを許可または禁止できます。これは、 標準REMOTE_USER CGI変数 。リモートユーザーを認証した後、この変数を設定するのはWebサーバーの責任です。

Mercurialでは、ユーザー名がallow_Pushセクションのallow_readおよび[web]リストと照合され、ユーザーが問題のリポジトリをプッシュまたはプル/クローンできるかどうかが決定されます。もちろん、これは、各リポジトリの.hg\hgrcファイルを編集することにより、リポジトリごとに構成できます。

3
Martin Geisler

ネクロポスティングをすみませんが、 HgLab のアルファ版をリリースしました。これはWindows用のMercurialサーバーであり、すぐに使用できるActiveDirectory認証をサポートしています。

0
Anton Gogolev