Apache 基于 Django 用户数据库进行授权

Apache 保持多种授权数据库同步一直有些问题, 你可以配置Apache 直接使用 Django 的 authentication system . 举例来说,你可以:

配置 Apache

要在 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 以了解更多信息.

默认不要求特定权限名