1
我有一個CakePHP的項目,包括網站的URL和一個API一個網址,說:如何保護部分cakephp網站進行舞臺部署?
- http://myproject.com/controller1/someaction
- http://myproject.com/controller2/someotheraction
- http://myproject.com/api/controller1/someapiaction
對於生產部署中,網站和API都使用cakephp的方法處理認證&授權。
我想將整個項目部署在臨時服務器上。在那裏,網站應該是HTTP身份驗證保護,而API應該是不受保護的(因爲我不想爲API消費者添加身份驗證)。我不想更改項目的源代碼或配置,而是通過Apache配置來解決它。
我試了幾個虛擬主機的配置,基本上遵循這樣的方法:
<LocationMatch "/api/.*">
Order allow,deny
Allow from all
Satisfy any
</LocationMatch>
<Location />
Order allow,deny
Allow from all
AllowOverride all
AuthType Basic
AuthName "myproject"
AuthUserFile /path/to/.htpasswd
AuthGroupFile /path/to/.htgroup
Require group mytesters
</Location>
我也嘗試混合位置&目錄指令,使用地點或LocationMatch爲兩個部分,否定的正則表達式LocationMatch,對於部分獨立虛擬主機, ... - 沒有任何工作:整個網站都被保護,或者什麼也沒有。
我得到的東西真的不對,或者它不可能(由於Apache或cakephp處理重寫的方式)?
不工作時,它仍然要求身份驗證爲/ API。此外,重寫規則cakephp使用需要額外的AllowOverride FileInfo選項。 – domsom 2012-07-18 09:23:45