web-dev-qa-db-ja.com

Apache 2.2で「AuthType None」を達成する方法

http://httpd.Apache.org/docs/trunk/mod/mod_authn_core.html#authtype は「AuthType None」について語っており、素晴らしい私がやらなければならないことの正確な例-残念ながら、2.3/2.4の新機能のようです。 2.2に同等の機能はありますか?

認証タイプNoneは認証を無効にします。認証が有効になっている場合、異なる認証タイプが指定されていない限り、通常は後続の各構成セクションに継承されます。認証済みセクションのサブセクションで認証が必要ない場合、認証タイプNoneを使用できます。次の例では、クライアントは認証なしで/ www/docs/publicディレクトリにアクセスできます。

<Directory /www/docs> 
AuthType Basic
AuthName Documents
AuthBasicProvider file
AuthUserFile /usr/local/Apache/passwd/passwords
Require valid-user 
</Directory>

<Directory /www/docs/public>
AuthType None
Require all granted
</Directory>
40
Technorati

Apache 2.2では以下のようなものが動作します。 http://httpd.Apache.org/docs/2.2/mod/core.html#require から取得しました

<Directory /www/docs>
    AuthType Basic
    AuthName Documents
    AuthBasicProvider file
    AuthUserFile /usr/local/Apache/passwd/passwords
    Require valid-user 
</Directory>
<Directory /www/docs/public>
    # All access controls and authentication are disabled
    # in this directory
    Satisfy Any
    Allow from all
</Directory>
99
Frank Henard

[すべてから許可]と[すべて満たす]を設定するだけです。

これは私のために働いた:

Alias /example "/opt/example.com"

<Directory "/opt/example.com">
  Options None
  AllowOverride None
  Order allow,deny
  Allow from all
  Satisfy Any
</Directory>
8
Gustavo Soares
<Directory /www/docs/public>
AuthType None
Require all granted
Satisfy Any
</Directory>

これは動作します

7
Medvedus

次の情報を追加したかっただけです。

Apache 2.2.22では、正しい順序で動作する必要があります。

ロケーション "/ foo/sub"の場合、これはうまくいきませんでした。

Satisfy Any
Allow from all

つまり、「/ foo/sub」の前に定義された場所「/ foo」からの認証がまだ適用されていました。

これは、場所「/ foo/sub」で機能します。

Allow from all
Satisfy Any

つまり「/ foo/sub」の前に定義された場所「/ foo」からの認証は破棄されました。

2
Bob

これはApache2.2で私のために働いた:

    <Location /trac>
       #....
       AuthType Basic
       AuthName "BLA domain"
       AuthUserFile /etc/.passwd
       Require valid-user
       Allow from all
       Satisfy Any
    </Location>
1
xvga

あなたは正しいと思います:Apache 2.2ではサポートされていません。

https://issues.Apache.org/bugzilla/show_bug.cgi?id=10932 でatい回避策を試してみます

何かのようなもの:

<DirectoryMatch "^/www/docs/(?!public)"> 
AuthType Basic
AuthName Documents
AuthBasicProvider file
AuthUserFile /usr/local/Apache/passwd/passwords
Require valid-user 
</Directory>

または

<DirectoryMatch "^/www/docs/[^p][^u][^b][^l][^i][^c]"> 
AuthType Basic
AuthName Documents
AuthBasicProvider file
AuthUserFile /usr/local/Apache/passwd/passwords
Require valid-user 
</Directory>
1
Marc MAURICE