Pengaturan Mercurial dengan otentikasi dan otorisasi Direktori Aktif

19

Saya mengevaluasi kemungkinan memindahkan organisasi saya ke Mercurial, namun saya tersandung pada dua persyaratan dasar yang saya tidak dapat menemukan petunjuk yang tepat.

Bagaimana cara mengatur repositori pusat Mercurial untuk mengautentikasi pengguna dengan Active Directory pusat dan hanya memungkinkan mereka mendorong atau menarik jika mereka memiliki kredensial yang tepat?

Bagaimana cara mengatur repositori proyek Mercurial untuk hanya mengizinkan pengguna yang berkaitan dengan grup tertentu untuk mendorong / menarik kode sumber? Kami membutuhkan ini untuk memiliki otorisasi per proyek.

Di server HTTP mana (IIS atau Apache dll) yang didukung oleh dua persyaratan di atas?

Mohon maaf jika saya meminta sesuatu yang jelas atau jika saya melewatkan sesuatu yang mendasar tentang cara kerja otentikasi dan otorisasi.

Martin Geisler
sumber
Duplikat dari: serverfault.com/questions/83718/…
Martin Geisler

Jawaban:

6

Saya melakukan posting blog empat bagian untuk mengatur Mercurial pada IIS dengan otentikasi Direktori Aktif dan menggunakan hgwebdir.cgi untuk mendorong otorisasi. Ini membahas seluruh proses:

  • Menyiapkan antarmuka web hg Mercurial di IIS.
  • Menyiapkan otentikasi IIS untuk Mercurial sehingga hanya pengguna yang diotorisasi oleh direktori aktif (yaitu grup / pengguna keamanan) yang dapat melihat / mengakses repositori baik melalui antarmuka web hg atau melalui sistem file.
  • Mengkonfigurasi otentikasi Direktori Aktif untuk pengguna Mercurial, jadi hanya pengguna yang berwenang yang dapat melihat / mengakses repositori yang memiliki akses.
  • Mengkonfigurasi hgwebdir.cgi melalui hgweb.config untuk mengatur otorisasi push untuk pengguna tertentu ke repositori.
  • Menyembunyikan hgwebdir.cgi menggunakan Helicon's ISAPI Rewrite di URL repositori Anda.
  • Menyesuaikan gaya / nuansa antarmuka pengguna web hg sesuai selera Anda.

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

Saya harap ini bermanfaat bagi orang-orang ...

BenAlabaster
sumber
4

Anda dapat melakukannya dengan Apache. Periksa cara membatasi mendorong di Apache di:

http://mercurial.selenic.com/wiki/PublishingRepositories#pushing

Tampak di atas pada file yang sama tentang cara mengkonfigurasi mercurial, izinnya dan semua pengguna yang diizinkan oleh Apache.

Setelah Anda menginstal mercurial dan Apache, Anda dapat menggunakan mod_authnz_ldap untuk hanya mengizinkan akses ke pengguna Active Directory:

http://httpd.apache.org/docs/2.2/mod/mod_authnz_ldap.html

Jangan lupa untuk memeriksa paragraf tentang konfigurasi Active Directory.

Itu seharusnya cukup untukmu.

Semoga sukses,
João Miguel Neves

jneves
sumber
Menggunakan authnz_ldap mentransmisikan kata sandi yang tidak dienkripsi antara klien dan Apache. Saya mencoba mencari cara untuk menghindari itu, tetapi tidak memiliki banyak keberuntungan.
LeBleu