Ограничить доступ 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
строка в моей предыдущей попытке просто проверяла, что это был действительный пользователь, но не проверяла домен пользователя.