Restringir o acesso do WebSVN aos usuários do Windows no domínio específico

3

Estou tentando instalar o WebSVN na instalação do VisualSVN. O VisualSVN é configurado para usar a autenticação do Windows, com usuários de domínios CLIENT e DEV acessando diferentes áreas do site. Os usuários no CLIENT têm acesso root negado (por meio da interface SVN) e recebem acesso a caminhos específicos no repositório. Usuários em DEV têm acesso a tudo. Isso funciona bem ao acessar o VisualSVN através de sua interface web ou através do navegador repo do TortoiseSVN.

Consigo executar o WebSVN e autenticar as credenciais de usuário de domínio válidas (de qualquer um dos domínios) antes de conceder acesso. No entanto, uma vez que as credenciais válidas sejam fornecidas, elas dão acesso a tudo, a todos os usuários.

Eu tentei diferentes variações de configuração no arquivo VisualSVN/conf/httpd-custom.conf , mas nenhuma delas funcionou para resolver esse problema. Idealmente, o WebSVN daria o mesmo acesso que o VisualSVN. No entanto, estou ok com o bloqueio de todos os usuários do domínio CLIENT inteiramente de acessar o WebSVN.

O estado atual do arquivo conf é:

LoadModule php5_module "c:/php/php5apache2_2.dll"
LoadModule authz_user_module bin/mod_authz_user.so
LoadModule sspi_auth_module bin/mod_auth_sspi.so
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3 

PHPIniDir "C:/php"

<IfModule dir_module>
   DirectoryIndex index.html index.php 
</IfModule>

<Location /websvn/>  
  SVNListParentPath on
  SVNParentPath "D:/Repositories/"  

  AuthName "SVN Server"
  AuthType SSPI
  SSPIAuth On
  SSPIAuthoritative On
  SSPIDomain DEV

  require valid-user
</Location> 

(Esta configuração destina-se apenas a permitir o acesso a membros do domínio DEV, implicitamente excluindo o domínio CLIENT - no entanto, as soluções para ambas as abordagens serão bem-vindas e aceitas).

    
por Yaakov Ellis 24.07.2011 / 20:36

1 resposta

1

Veja como, eventualmente, consegui restringir os usuários àqueles que estão em um domínio específico:

<Location /websvn/> 
  AuthName "SVN Server"
  AuthType SSPI
  SSPIAuth On
  SSPIAuthoritative On
  SSPIDomain DEV
  SSPIOfferBasic On
  SSPIOmitDomain On

  require group DEV\Group1
  require group DEV\Group2
</Location> 

A chave era usar a linha require group para informar quais grupos específicos dentro do domínio poderiam obter acesso. A linha require valid-user na minha tentativa anterior estava apenas validando que era um usuário válido, mas não estava verificando o domínio do usuário.

    
por 25.07.2011 / 08:12