Eu tenho um conjunto de repositórios privados do Subversion em uma caixa do Windows Server 2003 que os desenvolvedores acessam via SVNServe através do protocolo svn: //. Atualmente, usamos os arquivos authz e passwd para cada repositório para controlar o acesso, no entanto, com o crescente número de repositórios e desenvolvedores, estou pensando em mudar para usar suas credenciais no ActiveDirectory. Como rodamos em uma loja totalmente Microsoft e usamos o IIS em vez do Apache em todos os nossos servidores web, prefiro continuar usando o SVNServe, se possível.
Além de ser possível, também estou preocupado em como migrar nossos repositórios para que o histórico dos usuários existentes seja mapeado para as contas do ActiveDirectory corretas. Lembre-se também de que eu não sou o administrador da rede e não conheço muito bem o ActiveDirectory; portanto, provavelmente terei que passar por outras pessoas para obter as alterações feitas no ActiveDirectory, se necessário.
Quais são as minhas opções?
ATUALIZAÇÃO 1: Parece que na documentação do SVN , usando o SASL, devo conseguir que o SVNServe se autentique usando o ActiveDirectory. Para esclarecer, a resposta que eu estou procurando é como configurar o SVNServe (se possível) para usar o ActiveDirectory para autenticação e como modificar um repositório existente para remapear os usuários svn existentes para as contas de logon do domínio do ActiveDirectory.
ATUALIZAÇÃO 2: parece que o suporte a SASL no SVNServe funciona com um modelo de plug-in e a documentação é mostrada apenas como exemplo. Observando a Biblioteca SASL da Cyrus , parece que vários "mecanismos" de autenticação são suportados, mas não tenho certeza de qual deles deve ser usado para o suporte ao ActiveDirectory, nem posso encontrar documentação sobre esses assuntos.
ATUALIZAÇÃO 3: Ok, parece que, para me comunicar com o ActiveDirectory, estou procurando usar saslauthd em vez de sasldb para a propriedade auxprop_plugin . Infelizmente, parece que, de acordo com algumas postagens (possivelmente desatualizadas e imprecisas), o saslauthd não se baseia no Windows e esses empreendimentos são considerados um trabalho em andamento .
ATUALIZAÇÃO 4: A última publicação que encontrei sobre este tópico faz parecer que os binários adequados () estão disponíveis na Biblioteca MIT Kerberos, mas parece que o autor desta publicação no Nabble.com ainda está tendo problemas para fazer as coisas funcionarem .
ATUALIZAÇÃO 5: Parece das discussões do TortoiseSVN e também deste post no svn.haxx.semesmo que o saslgssapi.dll ou os binários necessários estejam disponíveis e configurados no servidor Windows, os clientes também precisarão da mesma personalização para trabalhar com esses repositórios. Se isso for verdade, só conseguiremos obter o suporte do ActiveDirectory de um cliente Windows somente se forem feitas alterações nesses clientes, como TortoiseSVN e CollabNet, compilação dos binários do cliente para suportar esses esquemas de autenticação. Embora seja o que essas postagens sugerem, isso é contraditório com o que eu supus originalmente de outra leitura, em que seja compatível com SASL não deveria exigir alterações no cliente, mas apenas que o servidor fosse configurado para lidar com o mecanismo de autenticação. Depois de ler um pouco mais atentamente no documento sobre o Cyrus SASL no Subversiona seção 5 declara "1.5+ clientes com suporte Cyrus SASL poderão se autenticar em servidores 1.5+ com SASL ativado, desde que pelo menos um dos mecanismos suportados pelo servidor também seja suportado pelo cliente". Então, claramente, o suporte GSSAPI (que eu entendo ser necessário para o Active Directory) deve estar disponível no cliente e no servidor.
Devo dizer que estou aprendendo muito sobre os aspectos internos de como o Subversion lida com a autenticação do que eu sempre quis. E, infelizmente, eu estava simplesmente procurando uma resposta sobre se posso ter suporte à autenticação do Active Directory ao usar o SVNServe em um servidor Windows e acessá-lo a partir de clientes Windows. De acordo com a documentação oficial, parece que isso é possível, mas você pode ver que a configuração não é trivial, se é que é possível.
ATUALIZAÇÃO: 6: Como o desenvolvimento do Subversion 1.7 está finalizando, alguém poderia acrescentar algo sobre se o Subversion 1.7 melhorará a situação de autenticação do SVNServe usando o Active Directory?