2011-07-12 21 views
-1

私のWebサイトのルートの下で要求する各リソースの資格情報を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 logic"でこれをやろうとしていることについて何か迷っているかもしれません。とにかく、どんな助けもありがたいです!

ありがとうございました。

編集:

私は、Apacheの認証が働いていた方法を誤解。私は、誰かが認証されたときに、同じディレクトリ下にあるすべてのリソースについて再度認証する必要はないと考えましたが、それは真実ではありません。私のPHPスクリプトが要求されたファイルの現在のURIを使用している場合、たとえ彼がrootへのアクセスを許可されていても、誰かがアクセスするかどうかに応じて異なるステータスコードを返すことができます。

答えて

0

基本認証を使用しています。つまり、ブラウザは実際には、リクエストを送信するたびに「認証をやり直す」ことができます。認証ユーザー/入力したパスを覚えておいて、後でリクエストごとに送信します。

なぜユーザーが何度も何度も認証されるようにしたいのですか?それは私たちがあなたの問題に対する解決策を見つけるのを助けるかもしれません...

+0

あなたの物語を作った人が見つかりました:http://www.eecho.info/Echo/apache/basic-authentication/。それをお読みください。それはブラウザ固有の書き換えルールを備えた複雑なソリューションです... – ivy

+0

私の問題をより明確に説明するためにオリジナルの投稿を編集しました。ご協力いただきありがとうございます。 – elwood

1

ユーザーが別のリソースにアクセスするたびに迷惑をかけることは...まあ...面倒です。あなたのPHP認証スクリプトがアクセス権をチェックし、アクセス権を拒否するACL(アクセス制御リスト)を使用してください。