Active Directoryでユーザーを認証するようにMercurialを設定できますか?私の場合、hgはWindows、Linux、またはFreeBSDで実行できますが、ADユーザーを使用する必要があります。
注:可能であれば、チュートリアルを教えてください。
さて、私は this チュートリアルから始めました。
それが終わったら、サーバー(Windows 2008)で次の追加の変更を加えました。
また、リポジトリの.hg\hgrc
ファイルに次の行を追加する必要があります。
クライアント側では、ユーザー名とパスワードを明示的に指定する必要がありました。
[web]
allow_Push = *
Windowsで動作し、UNIXで動作し、AD/LDAPで認証できる統合システムを探している場合は、RhodeCodeを試してください http://rhodecode.com これはbitbucket/githubのローカルインスタンスのようなものです。リポジトリを提供します。許可システムと簡単なユーザー管理、コードレビューなどが付属しています。
数か月前に、Active Directory/IISを使用してMercurialのWebサーバーをホストできるようにする4部構成のブログ投稿を書きました。それは御馳走を動作します:
http://www.endswithsaurus.com/2010/05/setting-up-and-configuring-Mercurial-in.html
それはあなたを案内します:
ベンは、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
ファイルを編集することにより、リポジトリごとに構成できます。
ネクロポスティングをすみませんが、 HgLab のアルファ版をリリースしました。これはWindows用のMercurialサーバーであり、すぐに使用できるActiveDirectory認証をサポートしています。