2011-07-12 21 views
-1

我需要找到一種方法來迫使Apache向用戶詢問他們在我的網站根目錄下要求的每個資源的憑據。每個文件/文件夾的Apache身份驗證

這是我此刻的.htaccess內容:

<Directory /var/www/vhosts/abcd> 
    Dav On 
    AuthType Basic 
    AuthName "private" 
    AuthBasicProvider external 
    AuthExternal auth 
    require valid-user 
</Directory> 

(這將調用權威性定義的PHP腳本。)

我希望用戶爲每個不同的ressource他可能再次認證想要獲得,但在成功通過特定資源認證時保持認證。

也許我錯過了我應該如何在「阿帕奇邏輯」中做到這一點,無論如何,任何幫助將被折衷!

謝謝。

編輯:

我誤解的方式Apache的認證工作。我認爲當某人被認證時,他不需要再次在同一目錄下對任何資源進行認證,但事實並非如此。如果我的PHP腳本使用請求的文件的當前URI,那麼我可以返回一個不同的狀態代碼,具體取決於某人是否有權訪問它,即使他被授予對根的訪問權限。

回答

0

您正在使用基本身份驗證。因此,瀏覽器實際上對其每次請求都進行「認證」:它記住您輸入的認證用戶/密碼,然後在每次請求後發送。

您能解釋一下爲什麼您希望用戶一次又一次地進行身份驗證嗎?它可以幫助我們找到解決您的問題的方法...

+0

我找到了一個讓你的故事工作的人:http://www.eecho.info/Echo/apache/basic-authentication/。請在那裏閱讀;這是一個使用瀏覽器特定的重寫規則的複雜解決方案... – ivy

+0

我剛剛編輯了我的原始文章,以更清楚地解釋我的問題。謝謝你的幫助。 – elwood

1

每次他訪問不同的資源時都會讓用戶感到煩惱......好......煩人。而是使用ACL(訪問控制列表),如果用戶沒有正確的權限,您的php認證腳本將檢查並拒絕訪問。

相關問題