ฉันสามารถตั้งค่า Mercurial เพื่อตรวจสอบสิทธิ์ผู้ใช้ใน Active Directory ได้หรือไม่ ในกรณีของฉัน hg สามารถทำงานบน Windows, Linux หรือ FreeBSD ได้ แต่ฉันต้องใช้ผู้ใช้ AD
หมายเหตุ: ถ้าเป็นไปได้โปรดชี้ให้ฉันดูการสอน
ฉันสามารถตั้งค่า Mercurial เพื่อตรวจสอบสิทธิ์ผู้ใช้ใน Active Directory ได้หรือไม่ ในกรณีของฉัน hg สามารถทำงานบน Windows, Linux หรือ FreeBSD ได้ แต่ฉันต้องใช้ผู้ใช้ AD
หมายเหตุ: ถ้าเป็นไปได้โปรดชี้ให้ฉันดูการสอน
คำตอบ:
ดีฉันเริ่มต้นด้วยการนี้กวดวิชา
หลังจากฉันทำเสร็จแล้วฉันได้ทำการเปลี่ยนแปลงเพิ่มเติมต่อไปนี้บนเซิร์ฟเวอร์ (Windows 2008):
ต้องเพิ่มบรรทัดต่อไปนี้ใน.hg\hgrc
ไฟล์ของที่เก็บของคุณด้วย:
ในฝั่งไคลเอ็นต์ฉันต้องระบุชื่อผู้ใช้และรหัสผ่านอย่างชัดเจน
[web]
allow_push = *
หากคุณกำลังมองหาระบบรวมที่สามารถทำงานบน windows, unix และรับรองความถูกต้องกับ AD / LDAP ลองใช้ RhodeCode http://rhodecode.comมันเป็นอินสแตนซ์ในท้องถิ่นของ bitbucket / github ที่ให้บริการที่เก็บ มันมาพร้อมกับระบบการอนุญาตและการจัดการผู้ใช้ที่ง่ายตรวจสอบโค้ด ฯลฯ
ฉันเขียนบล็อกส่วนที่ 4 โพสต์เมื่อสองสามเดือนก่อนที่อนุญาตให้คุณใช้ Active Directory / IIS เพื่อโฮสต์เว็บเซิร์ฟเวอร์ของ Mercurial มันทำงานได้รักษา:
http://www.endswithsaurus.com/2010/05/setting-up-and-configuring-mercurial-in.html
มันจะนำคุณผ่าน:
เบ็นให้คำแนะนำที่ดีสำหรับการตั้งค่า Mercurial บน IIS ด้วย AD
ฉันจะเช่นเดียวกับการเพิ่มว่าสิ่งสำคัญที่คุณจำเป็นต้องรู้คือว่าในตัว (Fast) สคริปต์ CGI ใน Mercurial ไม่ผู้ใช้จะไม่รับรองความถูกต้อง สคริปต์ CGI ที่เราจัดหานั้นอาศัยเว็บเซิร์ฟเวอร์ส่วนหน้าในการตรวจสอบสิทธิ์ ดังนั้นคุณต้องตั้งค่า Apache, IIS, nginx, ... เพื่อทำการตรวจสอบสิทธิ์ก่อนที่จะเรียกใช้สคริปต์ (อย่างไรก็ตามคุณสามารถใช้RhodeCode ที่ยอดเยี่ยมได้หากคุณต้องการระบบที่คล้ายBitbucketพร้อมการสนับสนุน LDAP ที่คุณสามารถเชื่อมต่อกับ AD ได้)
การแยกข้อกังวลนี้ทำให้ Mercurial มีความยืดหยุ่นสูง: หากคุณต้องการการรับรองความถูกต้องของ Active Directory คุณเพียงแค่ใช้ปลั๊กอินมาตรฐานสำหรับเว็บเซิร์ฟเวอร์ของคุณ เว็บไซต์หลายแห่งมีการตั้งค่านี้อยู่แล้วดังนั้น Mercurial จะ "ทำงานได้" :-)
Mercurial ไม่เคยตรวจสอบรหัสผ่านใด ๆ - ส่วนการตรวจสอบความถูกต้อง แต่ก็สามารถทำอนุมัติหมายความว่ามันสามารถอนุญาตหรือห้ามผู้ใช้จากการผลักดันหรือดึง ฯลฯ นี้จะกระทำขึ้นอยู่กับชื่อผู้ใช้ที่เก็บไว้ในมาตรฐานREMOTE_USER
ตัวแปร CGI มันขึ้นอยู่กับเว็บเซิร์ฟเวอร์เพื่อตั้งค่าตัวแปรนี้หลังจากที่พิสูจน์ตัวตนผู้ใช้รีโมตแล้ว
ใน Mercurial ชื่อผู้ใช้จะถูกจับคู่กับallow_push
และallow_read
รายการใน[web]
ส่วนเพื่อตรวจสอบว่าผู้ใช้ได้รับอนุญาตให้กดหรือดึง / โคลนที่เก็บข้อมูลที่เป็นปัญหาหรือไม่ สามารถกำหนดค่านี้แน่นอนสำหรับแต่ละพื้นที่เก็บข้อมูลโดยการแก้ไข.hg\hgrc
ไฟล์ในแต่ละพื้นที่เก็บข้อมูล
ขอโทษด้วยการทำลายระบบนิเวศน์ของฉัน แต่ฉันเพิ่งเปิดตัวHgLabรุ่นอัลฟ่าซึ่งเป็น Mercurial Server สำหรับ Windows และรองรับการตรวจสอบความถูกต้องของ Active Directory นอกกรอบ