2012-01-29 9 views
4

私はrest based authenticationの良いチュートリアルであると思われるものを通して読んでいます。Htaccess - HTTP認証 - このブロックが私に500エラーを引き起こすのはなぜですか?

私はウェブサイトcms(アクセス可能なウェブルートから持ち出されたもの)にアクセスするための追加としてこれを使用しようとしています。

使用がcmsインデックスに向けられたときと同じように、この基本的な認証形式を使用したいと考えています。ユーザーが任意のセクションに移動すると、私のデフォルトのPHP認証システムが起動し、特定のユーザーがCMSの特定の機能にしかアクセスできなくなります。私も理解しない何

は、私の.htaccessファイルに配置、次のコードブロックは、私は似テストを試してみました

<Files .login> 
AuthType Digest 
AuthNAme "Authentication Required" 
AuthDigestFile /usr/home/myDomain/includes/htpasswd/admin/.htdigest 
Require valid-user 
</Files> 

500エラーを生成するWebサイト全体を...引き起こしている理由基本的なアクセス機能を使用していましたが、このアプローチはさらに安全性があると判断しました。私は基本アクセスを認証するために使用できる.htpasswdファイルを作成するために、apacheのhtpasswd.exeプログラムを使用しましたが。これは問題なく動作しましたが、このタイプの認証を.htaccessファイルを使用してcmsインデックスに適用する方法を理解できませんでした。

私はapacheのhtdigest.exeプログラムを使ってファイルを作成し、.htdigestというファイルを作成しました。次のように

その内容は以下のとおりです。

testUser:Authentication Required:cd7h62051449100elk3c463eae6251f5

、このすべてが一度ユーザーがクリックしたインスタンスを達成しようとする、私が述べたarticeの指示に従っている、セットアップでhref属性 ".login"を含むリンクは、自分のcms(auth required)に転送されます。

は、だから、このURLにアクセスする が認証するユーザーを必要とするため、 認証をトリガーするだけのURLですが、何の.loginファイルが存在しない:これは著者によって、について説明します。私は実際に認証ボックスを取得する必要があるとき

は今、私は.htaccessファイルにこのブロックで、私のサイト上で任意のページをロードしようとするいくつかの理由で、私は、500エラーが出ますか?

しかし、これは、私が追加していない...私は、このブロックは、唯一の「.loginファイル」のhrefのリンク上でユーザがクリックのインスタンスに影響を与えるだろうと仮定して、私は、混乱していた

です認証が有効なときにユーザーをインデックスページに誘導するためのより多くのブロック、このブロック、および作成者が言及した2つの追加のブロック。

誰かがこの反応の原因を説明することができますか?

+2

error_logというサーバーは何を表していますか? – jcmeloni

+0

これはWindowsサーバーかLinuxサーバーですか?あなたはウィンドウのように聞こえる "htpasswd.exe"と言いますが、AuthDigestFileパスはLinuxパスのように見えます。また、Linuxサーバーの場合は、正しい場所にファイルがありますか? –

+0

無効なコマンド 'AuthDigestFile'は、サーバー構成に含まれていないモジュール、たとえばhttp:// www.myDomain.com/' –

答えて

6

はerror_logには言うことに基づいて、AuthUserFileAuthDigestFileを変更してみてください。お使いのOSによっては、ファイルパスの違いに遭遇することもあります。新しいerror_logメッセージに従います。

+1

私はちょうどそれを投稿しようとしていました。また、 'AuthDigestProvider file'も役に立つかもしれません。 –

+0

jcさんありがとうございますが、基本認証タイプを使用していないため動作しません。ダイジェストタイプを使用しています。 –

+0

@ dev-null-dweller投稿者の引用符を参照してください。 "このディレクティブを省略するか、その値が空の場合、クライアントは 応答サーバー上のすべてのURIで構成されていると仮定します。 –

3
  1. これは文字通りmyDomainですか?
  2. 500エラーの理由は、error_logファイルに書き込まれます。それは理由と説明を見つけることができる宇宙の唯一の場所です。あなたは、Apache 2.2.xのを使用している場合
+0

こんにちは、あなたの入力のためにありがとう、エラーログに際立って何かのための私のコメントを参照してください。そして、それは文字通り私の実際のドメインの名前 "myDomain"ではありません。 .com –

関連する問題