9

私はdjangoにかなり慣れていないので、足を濡らすためにいくつかの簡単な実験を試みています。django 1.0、apache2 prefork、mod_wsgiを実行しています。次のURL構造でサイトを構築しようとしています

/
/members
/admin

ルートは基本的にパブリックエリアです。
メンバーパスは基本認証(おそらくapacheによって認証される)
を使用して保護する必要があります。管理パスは組み込みのdjango認証を使用して保護する必要があります。

ドキュメントの例に従うと、基本的にサイト全体を基本認証で保護できますが、それは私が望んでいることではありません。

仮想ホスト構成を除く:

WSGIScriptAlias / /django/rc/apache/django.wsgi
<Directory /django/rc/apache>
AuthType Basic
AuthName "Authentication Required"
AuthUserFile "/django/_HTPASSWD/.htpasswd"
Require valid-user

# Order allow,deny
# Allow from all
</Directory>

これを可能にする方法について、誰かが私を正しい方向に向けるのを手伝ってくれますか(または私に= Pを教えてください)?

ありがとう


編集:少し遊んだ後、私は次のようなことができることを発見しました:

WSGIScriptAlias / /django/rc/apache/django.wsgi
<Directory /django/rc/apache>
Order allow,deny
Allow from all
</Directory>

WSGIScriptAlias /members /django/rc/apache_httpauth/django.wsgi
<Directory /django/rc/apache_httpauth>
AuthType Basic
AuthName "Authentication Required"
AuthUserFile "/django/_HTPASSWD/.htpasswd"
Require valid-user

</Directory>

django.wsgiファイルは基本的に同じファイルであり、別のディレクトリにコピーされるため、WSGIScriptAliasは異なります。それはハックっぽいですが、それは機能します。

私がやりたいことをするためのより良い方法はありますか?
このようにすることのデメリットはありますか?

ありがとう

4

1 に答える 1

8

変化する:

<Directory /django/rc/apache_httpauth>
AuthType Basic
AuthName "Authentication Required"
AuthUserFile "/django/_HTPASSWD/.htpasswd"
Require valid-user
</Directory>

に:

<Location /members>
AuthType Basic
AuthName "Authentication Required"
AuthUserFile "/django/_HTPASSWD/.htpasswd"
Require valid-user
</Location>

私はあなたが必要だとは思わない:

WSGIScriptAlias /members /django/rc/apache_httpauth/django.wsgi
于 2009-09-03T07:08:16.263 に答える