Apache 保持多种授权数据库同步一直有些问题, 你可以配置Apache 直接使用 Django 的 authentication system . 举例来说,你可以:
- 让 Apache 只对授权用户提供媒体文件服务.
- 授权拥有特定权限的用户访问 Subversion 库.
- 允许特定用户连接到由 mod_dav 创建的 WebDAV share.
要在 Apache 配置文件中检查 Django 的授权数据库文件, 你需要使用 mod_python 的 PythonAuthenHandler 指令及标准 Auth* 和 Require 指令:
<Location /example/> AuthType basic AuthName "example.com" Require valid-user SetEnv DJANGO_SETTINGS_MODULE mysite.settings PythonAuthenHandler django.contrib.auth.handlers.modpython </Location>
默认的,权限处理器将限制标记为 staff 成员的用户访问 /example/ 区域. 你可以使用一系列 PythonOption 指令来改变这种行为:
PythonOption 解释 DjangoRequireStaffStatus 若设置为 on 只允许 "staff" 用户(也就是 那些拥有 is_staff 标志的用户)将被允许
默认值为 on.
DjangoRequireSuperuserStatus 若设置为 on 只允许超级用户(也就是那些拥 有 is_superuser 旗标的用户)
默认值是 off.
DjangoPermissionName 拥有特定权限的用户才可以访问.参阅 custom permissions 以了解更多信息.
默认不要求特定权限名