Ограничить доступ WebSVN для пользователей Windows в определенном домене

Я пытаюсь установить WebSVN поверх установки VisualSVN. VisualSVN настроен для использования проверки подлинности Windows, при этом пользователи из доменов CLIENT и DEV получают доступ к различным областям сайта. Пользователям в CLIENT запрещен корневой доступ (через интерфейс SVN), и им предоставляется доступ к определенным путям в хранилище. Пользователям в DEV предоставляется доступ ко всему. Это прекрасно работает при доступе к VisualSVN через его веб-интерфейс или через браузер репозитория TortoiseSVN.

Я могу заставить WebSVN работать, и он аутентифицирует, что действительные учетные данные пользователя домена (из любого из доменов) предоставляются перед предоставлением доступа. Однако, после предоставления действительных учетных данных, он предоставляет доступ ко всему, всем пользователям.

Я пробовал разные варианты настройки в VisualSVN/conf/httpd-custom.conf файл, но ни один из них не работает для решения этой проблемы. В идеале WebSVN предоставил бы такой же доступ, как VisualSVN. Тем не менее, я согласен полностью блокировать доступ всех пользователей домена CLIENT к WebSVN.

Текущее состояние файла 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> 

(Эта настройка направлена ​​на то, чтобы разрешить доступ только членам домена DEV, неявно исключая домен CLIENT - однако решения для любого из этих подходов будут приветствоваться и приниматься).

1 ответ

Решение

Вот как я в итоге получил возможность ограничивать пользователей теми, кто находится в определенном домене:

<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> 

Ключ должен был использовать require group строка, чтобы сказать, какие конкретные группы в домене должны иметь возможность получить доступ. require valid-user строка в моей предыдущей попытке просто проверяла, что это был действительный пользователь, но не проверяла домен пользователя.

Другие вопросы по тегам