SVNServe üzerinden svn: // protokolü üzerinden geliştiricilerin eriştiği bir Windows Server 2003 kutusunda özel Subversion depolarım var. Şu anda erişimi kontrol etmek için her havuz için authz ve passwd dosyalarını kullanıyoruz, ancak artan sayıda depo ve geliştirici ile ActiveDirectory'deki kimlik bilgilerini kullanmaya geçmeyi düşünüyorum. Tüm bir Microsoft mağazasında çalışıyoruz ve tüm web sunucularımızda Apache yerine IIS kullanıyoruz, bu yüzden mümkünse SVNServe kullanmaya devam etmeyi tercih ederim.
Mümkün olmasının yanı sıra, mevcut kullanıcıların geçmişinin doğru ActiveDirectory hesaplarıyla eşleşmesi için depolarımızı nasıl taşıyacağım konusunda da endişeliyim. Ayrıca, ağ yöneticisi olmadığımı ve ActiveDirectory'ye aşina olmadığımı da unutmayın, bu nedenle gerekirse ActiveDirectory'de yapılan değişiklikleri almak için muhtemelen başka insanlardan geçmek zorunda kalacağım.
Seçeneklerim neler?
GÜNCELLEME 1: SVN belgelerinden , SASL kullanarak SVNServe'in ActiveDirectory kullanarak kimlik doğrulaması yapabilmem gerektiği anlaşılıyor. Açıklığa kavuşturmak için aradığım cevap, SVNServe'in (mümkünse) kimlik doğrulaması için ActiveDirectory kullanmak için nasıl yapılandırılacağı ve mevcut svn kullanıcılarının ActiveDirectory etki alanı oturum açma hesaplarına yeniden eşlenmeleri için mevcut bir havuzun nasıl değiştirileceği.
GÜNCELLEME 2: SVNServe'deki SASL desteğinin bir eklenti modelinde çalıştığı ve belgelerin yalnızca örnek olarak göründüğü anlaşılmaktadır. Cyrus SASL Kütüphanesi'ne bakıldığında, bir dizi kimlik doğrulama "mekanizması" destekleniyor gibi görünüyor, ancak ActiveDirectory desteği için hangisinin kullanılacağından emin değilim, bu tür konularla ilgili herhangi bir belge bulamıyorum.
GÜNCELLEME 3: Tamam, iyi o kullanımı arıyorum ActiveDirectory I ile iletişim amacıyla benziyor saslauthd yerine sasldb için auxprop_plugin özelliği. Ne yazık ki bazı mesajlara göre (muhtemelen eski ve yanlış) saslauthd Windows üzerinde inşa edilmez ve bu tür çabalar devam eden bir çalışma olarak kabul edilir .
GÜNCELLEME 4: Bu konuda bulduğum en son gönderi, MIT Kerberos Kütüphanesi aracılığıyla uygun ikili dosyalar () mevcut gibi görünüyor, ancak Nabble.com'daki bu yazının yazarı hala işleri çalıştırırken sorun yaşıyor gibi görünüyor .
GÜNCELLEME 5: TortoiseSVN tartışmalarından ve svn.haxx.se'deki bu gönderiden de anlaşılıyorWindows sunucusunda saslgssapi.dll veya gerekli herhangi bir ikili dosya mevcut olsa ve yapılandırılsa bile, istemcilerin bu depolarla çalışmak için aynı özelleştirme işlemine ihtiyaç duyacağını unutmayın. Bu doğruysa, yalnızca bu kimlik doğrulama düzenlerini desteklemek için istemci ikili dosyalarının TortoiseSVN ve CollabNet derlemesi gibi değişiklikler yapıldığında yalnızca Windows istemcisinden ActiveDirectory desteğini alabiliriz. Bu yazı ne önermek olsa da, bu SASL uyumlu olmak istemcide herhangi bir değişiklik gerektirmez, ancak sadece sunucu kimlik doğrulama mekanizmasını işlemek için ayarlanması gerektiğini aslında diğer okumadan varsaydım ile çelişkilidir. Subversion'daki Cyrus SASL ile ilgili belgede biraz daha dikkatli okuduktan sonra5. bölüm, "Cyrus SASL destekli 1.5+ istemcinin, sunucu tarafından desteklenen mekanizmalardan en az birinin de istemci tarafından desteklenmesi koşuluyla, SASL etkinleştirilmiş 1.5+ sunucuya karşı kimlik doğrulaması yapabileceğini unutmayın." Bu nedenle, GSSAPI desteğinin (Active Directory için gerekli olduğunu anladığım) istemci ve sunucuda açıkça bulunması gerekir.
Söylemeliyim ki, Subversion'ın kimlik doğrulamayı nasıl istediğimin içselliği hakkında çok fazla şey öğreniyorum. Ne yazık ki, Windows sunucusunda SVNServe kullanırken ve Windows istemcilerinden buna erişirken Active Directory kimlik doğrulama desteğine sahip olup olamayacağım konusunda bir cevap arıyordum. Resmi belgelere göre, bunun mümkün olduğu görülüyor, ancak konfigürasyonun mümkünse bile önemsiz olduğunu görebilirsiniz.
GÜNCELLEME: 6: Subversion 1.7'deki geliştirme tamamlandığından, SVNServe'in Active Directory kullanarak kimlik doğrulaması yapması durumunda Subversion 1.7'nin iyileşip iyileşmeyeceği konusunda herhangi bir şey eklenebilir mi?