Mercurial (hg) com diretório ativo

15

Posso configurar o Mercurial para autenticar usuários no Active Directory? No meu caso, o hg pode ser executado no Windows, Linux ou FreeBSD, mas eu preciso usar usuários do AD.

Nota: se for possível, indique-me um tutorial.

Zote
fonte

Respostas:

11

Bem, eu comecei com este tutorial.

Depois de terminar, fiz as seguintes alterações adicionais no servidor (Windows 2008):

  • IIS configurado para usar SSL;
  • Autenticação anônima desativada para o site;
  • Ativada autenticação básica e Windows para o site;
  • Permissões NTFS configuradas na pasta do repositório.

Também é necessário adicionar as seguintes linhas ao .hg\hgrcarquivo do seu repositório :

No lado do cliente, tive que especificar explicitamente nome de usuário e senha.

[web]
allow_push = *
Regente
fonte
5

Se você está procurando algum sistema integrado que possa funcionar no Windows, unix e autenticar no AD / LDAP, experimente o RhodeCode http://rhodecode.com É um tipo de instância local do bitbucket / github que serve repositórios. Ele vem com sistema de permissão e fácil gerenciamento de usuários, revisão de código etc.

marcinkuzminski
fonte
Yay para RhodeCode! :-)
Martin Geisler
4

Eu escrevi um post de blog em 4 partes há alguns meses atrás, que permite que você use o Active Directory / IIS para hospedar o servidor web da Mercurial. Funciona como um deleite:

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

Ele o orienta:

  • Configuração do Mercurial no IIS
  • Configurando as extensões ISAPI para Python
  • Reescrever ISAPI para ocultar URLs feias
  • Configuração de privilégios de segurança usando o Active Directory
  • Personalização da interface da web
BenAlabaster
fonte
+1, ótimas postagens no blog. Estamos pilotando o Mercurial para nossos projetos Windows e Linux. Alguma chance de você estar atualizando este guia para o IIS 7.5?
jscott
Serei assim que eu puder atualizar meu servidor.
21912 BenAlabaster
3

Ben já lhe deu um bom guia para configurar o Mercurial no IIS com o AD.

Gostaria apenas de acrescentar que a principal coisa que você precisa saber é que o script CGI (Rápido) incorporado no Mercurial não autentica usuários . O script CGI que fornecemos depende de um servidor Web front-end para fazer a autenticação. Portanto, você deve configurar o Apache, IIS, nginx, ... para fazer autenticação antes que invoquem o script. (No entanto, você pode usar o excelente RhodeCode se desejar um sistema semelhante ao Bitbucket com suporte a LDAP que também possa ser conectado ao AD.)

Essa separação de preocupações torna o Mercurial muito flexível: se você deseja autenticação do Active Directory, basta usar o plug-in padrão do servidor da Web para fazer isso. Muitos sites já terão essa configuração e, portanto, o Mercurial "funcionará" :-)

Portanto, o Mercurial nunca verifica senhas - a parte de autenticação. Mas pode autorizar , o que significa que pode permitir ou proibir os usuários de empurrar ou puxar, etc. Isso é feito com base no nome de usuário armazenado na variável CGI padrãoREMOTE_USER . Cabe ao servidor da web definir essa variável após a autenticação do usuário remoto.

No Mercurial, o nome de usuário é comparado com as listas allow_pushe allow_readna [web]seção para determinar se o usuário tem permissão para empurrar ou puxar / clonar o repositório em questão. Obviamente, isso pode ser configurado por repositório, editando os .hg\hgrcarquivos em cada repositório.

Martin Geisler
fonte