Basic認証でつまづいた
Basic認証についての備忘録。。。 詳しく調べてなかったらこういうしょーもない事でつまづく。。。
<Directory "/var/hoge/html"> AuthType Basic AuthName "Hoge User" AuthUserFile /home/hoge/.htpasswd Require user hogehoge </Directory>
の設定で下記のエラーが出続けていたので色々といじくり回したり調べたりした。
access to / failed, reason: user 'hogehoge' does not meet 'require'ments for user/valid-user to be allowed access
ちなみに.htpasswordの中に存在するユーザはhogeでした。
<Directory "/var/hoge/html"> AuthType Basic AuthName "Hoge User" AuthUserFile /home/hoge/.htpasswd Require valid-user </Directory>
にしたらエラーでなくなった。
気になったので調べました。以下参照。
require user ユーザ単位で、認証の機会を与えます。パスワードファイルに登録されているユーザのうち、user-id だけに認証の機会を与え、 ほかは拒否します。 require group グループ単位で、認証の機会を与えます。パスワードファイルに登録されているユーザのうち、group-name グループに属している 場合だけに認証の機会を与え、ほかは拒否します。AuthGroupFile であらかじめグループ定義を行う必要があります。 valid-user 全てのユーザに、認証の機会を与えます。通常、これを選択します。 require が <Limit> セクション内でグループ化されている場合は、<Limit> で指示されているメソッドでのアクセスを制限し認証に かけます。他のメソッドは制限しません。require が <Limit> セクション内になければ、すべてのメソッドを制限します。
上記より、下記のように修正しました。
<Directory "/var/hoge/html"> AuthType Basic AuthName "Hoge User" AuthUserFile /home/hoge/.htpasswd Require user hoge </Directory>
正常にBasic認証通過!!
おわり