Django的 - 保护基本身份验证一些网络路径(django - protect some web

2019-08-03 13:36发布

我是相当新的Django和只是想几个简单的实验,让我的脚湿。 我跑的Django 1.0,预派生的Apache2和mod_wsgi的。 我试图建立与下列网站的网址结构

/
/members
/admin

根基本上是公共区域。
成员路径应使用基本身份验证来保护(可能由阿帕奇认证)
管理员路径应使用内置的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不同的是同一个文件。 这是黑客十岁上下,但它的工作原理..

有没有更好的办法做到我想要什么?
是否有任何缺点,以做这样的吗?

谢谢

Answer 1:

更改:

<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


文章来源: django - protect some web paths with basic authentication