2011-01-10 32 views
0

我有一個包含以下指令的apache配置。它適用於包含多個項目的trac環境,每個項目都包含一組允許訪問的不同用戶。如何在apache2配置中動態設置組訪問

我想使用通配符只允許定義的組訪問這個環境,這怎麼能做到?目前我的配置allowes所有用戶:

<LocationMatch "/private/[^/]+/login"> 
     AuthType Basic 
     AuthName "Trac" 
     AuthUserFile /home/auth/private.access.user 
     Require valid-user 
</LocationMatch> 

但我想它讀取類似:

<LocationMatch "/private/[^/]+/login"> 
     AuthType Basic 
     AuthName "Trac" 
     AuthUserFile /home/auth/private.access.user 
     Require Group [^/] 
</LocationMatch> 

這可能嗎?

回答

0

通過Trac,我發現允許訪問Apache配置中的每個人,然後使用Trac的帳戶管理器插件(http://trac-hacks.org/wiki/AccountManagerPlugin)來控制對每個項目Trac的訪問實例。撤銷「匿名」用戶的所有權限,來自group2的用戶將無法對group1的Trac實例執行任何操作,除非看到錯誤頁面並提示您登錄。

0

我會做的就是下面的...

<LocationMatch "/private/[^/]+/login"> 
     AuthType Basic 
     AuthName "Trac" 
     AuthUserFile /home/auth/private.access.user 
     AuthGroupFile /home/auth/private.access.groups 
     Require Group group1 group2 
</LocationMatch> 

當組文件/home/auth/private.access.groups只是一個簡單的文本(ASCII)文件,例如,它可以看看像這樣:

group1: john barry 
group2: frank jeremy 

我不知道它的正則表達式是可能的,需要集團指令(我懷疑他們是),我總是在命名組認證文件中列出組的特定名稱。

+0

是的,但是然後group2的成員將能夠訪問group1的trac環境,或者我誤解了嗎? – milovanderlinden 2011-01-10 15:49:40