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