簡單地說明原因,公司的Subversion Repository要用NTLM認證,我在Windows上用Apache架SVN Server。
當然先下載Apache 2.2和對應Apache 2.2的Subversion,接著下載mod_auth_sspi
,modules和bin都放好應該有的檔案後,在 httpd.conf 裏加上
參考資料: http://www.wretch.cc/blog/mogula/22956644
當然先下載Apache 2.2和對應Apache 2.2的Subversion,接著下載mod_auth_sspi
,modules和bin都放好應該有的檔案後,在 httpd.conf 裏加上
LoadModule sspi_auth_module modules/mod_auth_sspi.so接下來要設定權限,找到的範例要用 AuthzSVNAccessFile ,但我怎麼設定都不對,所以把Require user改成Require group,在 httpd.conf 設定如下
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /projectrepository>若有先進願提供正確的SSPI AuthzSVNAccessFile範例,不勝感激。
DAV svn
SVNPath E:/projectrepository
AuthType SSPI
AuthName "Project Repository"
# Require valid-user
Require group "網域名\群組名" "網域名\群組2"
SSPIAuth On
SSPIAuthoritative On
SSPIDomain 網域名
SSPIOfferBasic On
# AuthzSVNAccessFile E:/projectrepository/svnaccess.txt
</Location>
參考資料: http://www.wretch.cc/blog/mogula/22956644
留言
<Location /svn/>
DAV svn
SVNParentPath C:\svn_repository
SVNListParentPath On
AuthName "SVN Auth"
AuthType SSPI
SSPIAuth On
SSPIAuthoritative On
SSPIDomain MyDomain
SSPIOfferBasic On
Require valid-user
AuthzSVNAccessFile C:\svn_config\AuthzSVNAccessFile.txt
</Location>
跟你不同的大概是 Require valid-user 是在指定domain之後
另外 AuthzSVNAccessFile 的內容長這樣
[groups]
adm = MyDomain\matt
dev = MyDomain\mary, MyDomain\john
[/]
@adm = rw
@dev = r
* =
[folder1-in-svn-root:/]
@dev = rw
* =
[folder2-in-svn-root:/]
MyDomain/john = rw
* =
[folder2-in-svn-root:/sub-folder]
MyDomain/mary = rw
@dev = r
* =