ฉันมีชุดที่เก็บข้อมูลการโค่นล้มส่วนตัวในกล่อง Windows Server 2003 ซึ่งนักพัฒนาเข้าถึงผ่านทาง SVNServe ผ่านโปรโตคอล svn: // ขณะนี้เราได้ใช้ไฟล์authzและpasswdสำหรับแต่ละที่เก็บเพื่อควบคุมการเข้าถึงอย่างไรก็ตามด้วยจำนวนที่เพิ่มขึ้นของที่เก็บและนักพัฒนาที่ฉันกำลังพิจารณาเปลี่ยนไปใช้ข้อมูลประจำตัวของพวกเขาจาก ActiveDirectory เราทำงานในร้าน Microsoft ทั้งหมดและใช้ IIS แทน Apache บนเว็บเซิร์ฟเวอร์ของเราทั้งหมดดังนั้นฉันต้องการใช้ SVNServe ต่อไปถ้าเป็นไปได้
นอกจากนี้ยังเป็นไปได้ฉันยังกังวลเกี่ยวกับวิธีการย้ายที่เก็บข้อมูลของเราเพื่อให้ประวัติผู้ใช้ที่มีอยู่จับคู่กับบัญชี ActiveDirectory ที่ถูกต้อง โปรดทราบว่าฉันไม่ใช่ผู้ดูแลระบบเครือข่ายและฉันก็ไม่คุ้นเคยกับ ActiveDirectory มากดังนั้นฉันอาจต้องผ่านคนอื่น ๆ เพื่อรับการเปลี่ยนแปลงใน ActiveDirectory หากจำเป็น
ตัวเลือกของฉันคืออะไร?
อัปเดต 1: ปรากฏจากเอกสาร SVNที่โดยใช้ SASL ฉันควรจะได้รับ SVNServe เพื่อตรวจสอบสิทธิ์โดยใช้ ActiveDirectory เพื่อชี้แจงคำตอบที่ฉันกำลังมองหาคือวิธีการกำหนดค่า SVNServe (ถ้าเป็นไปได้) เพื่อใช้ ActiveDirectory สำหรับการรับรองความถูกต้องและวิธีการแก้ไขที่เก็บข้อมูลที่มีอยู่เพื่อทำการแมปผู้ใช้ svn ที่มีอยู่ใหม่
อัปเดต 2: ดูเหมือนว่าการสนับสนุน SASL ใน SVNServe นั้นใช้งานได้กับรูปแบบปลั๊กอินและเอกสารประกอบแสดงเป็นตัวอย่างเท่านั้น เมื่อมองไปที่Cyrus SASL Libraryดูเหมือนว่ามีการรองรับกลไก "การรับรองความถูกต้อง" จำนวนหนึ่ง แต่ฉันไม่แน่ใจว่าจะต้องใช้อันไหนในการรองรับ ActiveDirectory และฉันไม่สามารถหาเอกสารใด ๆ เกี่ยวกับเรื่องดังกล่าวได้
อัปเดต 3: โอเคดูเหมือนว่าเพื่อสื่อสารกับ ActiveDirectory ฉันต้องการใช้saslauthdแทนsasldbสำหรับคุณสมบัติauxprop_plugin แต่น่าเสียดายที่มันปรากฏว่าตามที่โพสต์ (อาจจะล้าสมัยและไม่ถูกต้อง) saslauthdไม่ได้สร้างบน Windows และความพยายามดังกล่าวจะถือว่าเป็นความก้าวหน้าในงาน
อัปเดต 4: โพสต์ล่าสุดที่ฉันพบในหัวข้อนี้ทำให้ดูเหมือนว่าไบนารีที่เหมาะสม () มีให้บริการผ่านMIT Kerberos Libraryแต่ดูเหมือนว่าผู้เขียนโพสต์นี้บน Nabble.comยังคงมีปัญหาในการทำให้สิ่งต่าง ๆ ใช้งานได้ .
ปรับปรุง 5: ดูเหมือนว่าจากการสนทนา TortoiseSVNและโพสต์นี้ใน svn.haxx.seแม้ว่า saslgssapi.dll หรือไบนารีที่จำเป็นใด ๆ จะพร้อมใช้งานและกำหนดค่าบนเซิร์ฟเวอร์ Windows ที่ไคลเอนต์จะต้องมีการกำหนดค่าเดียวกันเพื่อทำงานกับที่เก็บเหล่านี้ หากเป็นจริงเราจะสามารถรับการสนับสนุน ActiveDirectory จากไคลเอนต์ windows เท่านั้นหากมีการเปลี่ยนแปลงในไคลเอนต์เหล่านี้เช่น TortoiseSVN และ CollabNet บิลด์ของไคลเอ็นต์ไบนารีเพื่อสนับสนุนโครงร่างการพิสูจน์ตัวตนดังกล่าว แม้ว่านั่นคือสิ่งที่โพสต์เหล่านี้แนะนำ แต่สิ่งนี้ขัดแย้งกับสิ่งที่ฉันสันนิษฐานจากการอ่านอื่น ๆ ว่าการใช้งานร่วมกับ SASL ได้นั้นไม่จำเป็นต้องมีการเปลี่ยนแปลงไคลเอนต์ หลังจากอ่านเพิ่มเติมเล็กน้อยในเอกสารเกี่ยวกับ Cyrus SASL ในการโค่นล้มส่วนที่ 5 ระบุว่า "ไคลเอนต์ 1.5+ ที่มีการสนับสนุน Cyrus SASL จะสามารถรับรองความถูกต้องกับเซิร์ฟเวอร์ 1.5+ ที่เปิดใช้งาน SASL ซึ่งมีกลไกอย่างน้อยหนึ่งอย่างที่เซิร์ฟเวอร์รองรับได้รับการสนับสนุนจากไคลเอนต์ด้วย" ดังนั้นการสนับสนุน GSSAPI อย่างชัดเจน (ซึ่งฉันเข้าใจว่าเป็นสิ่งจำเป็นสำหรับ Active Directory) ต้องพร้อมใช้งานภายในไคลเอนต์และเซิร์ฟเวอร์
ฉันต้องบอกว่าฉันได้เรียนรู้วิธีมากเกินไปเกี่ยวกับเรื่องภายในว่าการโค่นล้มจัดการกับการรับรองความถูกต้องมากกว่าที่ฉันเคยต้องการหรือไม่ และน่าเสียดายที่ฉันเพียงแค่มองหาคำตอบว่าฉันสามารถรองรับการตรวจสอบสิทธิ์ Active Directory เมื่อใช้ SVNServe บนเซิร์ฟเวอร์ Windows และเข้าถึงสิ่งนี้จากไคลเอนต์ Windows หรือไม่ ตามเอกสารอย่างเป็นทางการดูเหมือนว่าสิ่งนี้เป็นไปได้ แต่คุณจะเห็นว่าการกำหนดค่านั้นไม่สำคัญถ้าเป็นไปได้เลย
อัปเดต: 6: ตั้งแต่การพัฒนาบน Subversion 1.7 กำลังจะหมดลงใครช่วยอะไรเพิ่มได้บ้างว่า Subversion 1.7 จะดีขึ้นหรือไม่เมื่อสถานการณ์ได้รับ SVNServe เพื่อรับรองความถูกต้องโดยใช้ Active Directory