質問

私はこのような構造ます:

/home
/home/dir1
/home/dir2
誰かが/家に行くとき、

さて、彼は(フォームで)ユーザ名とパスワードの入力を要求し、私は/家の残りのファイルのためのPHPでセッション情報を設定されています。今の/ home / dir1のおよび/ホーム/ DIR2は、htpasswdはなく、同じユーザ名とパスワードで保護されています。私は私が家に/からログアウトするときも、私はまた、/ホーム/ DIR1からログアウトしたい...彼らは/ホーム/ DIR1に行くとき、ユーザは再び自分のユーザー名とパスワードを再入力したくありません。あなたはこれを実現する方法についてアドバイスをお願いできますか?

役に立ちましたか?

解決

これはデフォルトの動作である必要があります。

これは、HTTP認証を設定するには、Apacheと.htaccessファイルを使用している場合は、あなたがディレクトリに適用される規則は、その子ディレクトリに適用されますされ、それがすべて1つのログインなどのブラウザによって処理されます。

あなたは、サイトのいくつかのセクションが完全に別のログインを必要とするものとして扱われることを望んでいたつまりあれば、あなたは.htaccessファイル内でAuthNameディレクティブを使用して、各セクションのための「領域」を指定することになり、それは異なる動作をします。 ここの詳しい情報。あなたがそれをしない場合は、それは常に同じログインのすべての一部として扱われます。

HTTP認証についての事は、ブラウザがその機能を提供し、少なくともいない場合を除き、「ログアウト」する方法がないということです。ほとんどのブラウザはあなたをログアウトすることができます唯一の方法は、(つまりブラウザを閉じる)ブラウザセッションを終了することです。一度これを行うとはい、あなたはすべてのサイト/レルムの/ home、/ホーム/ DIR1、/ホーム/ dir2にし、すべてのディレクトリからログアウトされます。

他のヒント

はApacheに限り、両方のフォルダが同じを持っているように、のでAuthName の、彼らはパスワードを共有する必要があり、同じ敷地内にあります。

両方のディレクトリがそうのような.htaccessファイルがある可能性があります:

AuthName "My Protect Folder"
AuthType basic
AuthUserFile /somewhere/htusers
require valid-user
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top