Description: Core Authorization
Status: Base
Moduledentifier: authz_core_module
Sourceile: mod_authz_core.c
Compatibility: Available in Apache HTTPD 2.3 and later

这个模块提供了核心授权功能,通过身份验证的用户可以允许或拒绝访问部分网站。mod_authz_core各种授权提供程序提供了注册的功能。它通常是 与

身份验证提供者模块一起使用,如mod_authn_file mod_authz_user等和授权模块。它还允许高级逻辑应用于授权处理。

Example

下面的示例创建两个不同的ldap授权供应商基于ldap-group授权提供者的别名。这个示例允许一个授权的位置检查主机内部多个ldap组成员:

<AuthzProviderAlias ldap-group ldap-group-alias1 cn=my-group,o=ctx>
AuthLDAPBindDN cn=youruser,o=ctx
AuthLDAPBindPassword yourpassword
AuthLDAPURL ldap://ldap.host/o=ctx
</AuthzProviderAlias> <AuthzProviderAlias ldap-group ldap-group-alias2 cn=my-other-group,o=dev>
AuthLDAPBindDN cn=yourotheruser,o=dev
AuthLDAPBindPassword yourotherpassword
AuthLDAPURL ldap://other.ldap.host/o=dev?cn
</AuthzProviderAlias> Alias /secure /webpages/secure
<Directory /webpages/secure>
Require all granted AuthBasicProvider file AuthType Basic
AuthName LDAP_Protected_Place #implied OR operation
Require ldap-group-alias1
Require ldap-group-alias2
</Directory>

Authorization Containers

授权容器指令< RequireAll >、< RequireAny >和< RequireNone >可以相互结合,需要指令来表达复杂的授权逻辑。

下面的例子表达以下授权逻辑。为了访问资源,用户必须是superadmin用户,或者是管理组和管理员LDAP组和属于销售组或LDAP属性销售部门。此外,为了访问资源,用户必须不属于临时工组或LDAP组临时员工。

<Directory /www/mydocs>
<RequireAll>
<RequireAny>
Require user superadmin
<RequireAll>
Require group admins
Require ldap-group cn=Administrators,o=Airius
<RequireAny>
Require group sales
Require ldap-attribute dept="sales"
</RequireAny>
</RequireAll>
</RequireAny>
<RequireNone>
Require group temps
Require ldap-group cn=Temporary Employees,o=Airius
</RequireNone>
</RequireAll>
</Directory>

mod_authz_core提供了一些通用的授权提供程序可用于的指令。

Require env

env提供者允许访问控制服务器基于一个环境变量的存在。当需要指定env这个env-variable时候,然后请求被允许访问环境变量是否env-variable存在。服务器能够以灵活的方式设置环境变量基于客户机请求的特性使用 mod_setenvif提供的指令。因此,该指令可用于允许访问基于等因素客户用户代理(浏览器类型),推荐人或其他HTTP请求头字段。

SetEnvIf User-Agent ^KnockKnock/\. let_me_in
<Directory /docroot>
Require env let_me_in
</Directory>

在这种情况下,浏览器的用户代理字符串,KnockKnock / 2.0将被允许访问,和其他所有人将被拒绝。

当 服务器查找路径通过寻找等内部subrequest DirectoryIndex mod_autoindex或生成一个目录清单,每请求subrequest环境变量并不是遗传的。此外,SetEnvIf指令不单独评估 subrequest由于API阶段mod_setenvif所使用。

原文:http://httpd.apache.org/docs/2.4/mod/mod_authz_core.html

Apache2.4 authz_core_module模块使用的更多相关文章

  1. apache2服务器mod_rewrite模块 开启方法[linux, ubuntu]

    在UBUNTU系统中要启用mod_rewrite的方法有两种: 第一种: 在终端中执行 sudo a2enmod rewrite 指 令后,即启用了 Mod_rewrite 模块, apache2服务 ...

  2. Ubuntu 14 中给 APACHE2安装 SSL 模块 Enable SSL site on Ubuntu 14 LTS, Apache 2.4.7:

    Ubuntu 14 中给 APACHE2安装 SSL 模块 Enable SSL site on Ubuntu 14 LTS, Apache 2.4.7: 参考 http://blog.csdn.ne ...

  3. ubuntu apache2 流量限制模块

    mod-bw is an Apache 2 module provided to solve the problem of limiting users’ and virtual hosts’ ban ...

  4. Ubuntu-server 下Apache2 配置.htaccess 隐藏thinkPHP项目index.php

    需要开启Apache2的rewrite模块 1.打开/etc/apache2/apache2.conf 将文件中的AllowOverride None改为AllowOverride All 2.修改m ...

  5. 转 - ubuntu apache2下目录结构

    ubuntu apache2下目录结构 原文:http://blog.csdn.net/jibcy/article/details/8060651 在Windows下,Apache的配置文件通常只有一 ...

  6. Ubuntu 下apache2开启rewrite隐藏index.php

    为了实现 http://www.example.com/route/route 而不是 http://www.example.com/index.php/route/route 需要开启apache2 ...

  7. ubuntu apache开启重写模块

    http://www.iblue.cc/2011/09/ubuntu-apache%E5%BC%80%E5%90%AF%E9%87%8D%E5%86%99%E6%A8%A1%E5%9D%97/ Ubu ...

  8. SVN-服务器搭建、apache2整合、eclipse使用

    如题,分成3个部分: 1.SVN服务器搭建.操作系统Ubuntu 14.04.2 LTS.具体方法度娘很多,不再细数. 安装:sudo apt-get install subversion 创建版本库 ...

  9. apache动态添加模块

    Apache已经安装完毕并投入运行,但是后来却发现部分模块没有加载,当然有两个方法: 1. 一是完全重新编译Apache, 再安装 2. 编译模块为SO文件,使用LoadModule指令加载扩展模块. ...

随机推荐

  1. Android 选择本地图片的demo

    https://github.com/lipanquan/SelectLocalPhoto

  2. java向数据库插入数据时的错误: Duplicate entry '' for key 'PRIMARY' 问题解决

    错误提示为:你插入的记录与数据表中原有记录的主键重复了(Duplicate).所以插入失败 mysql主键设置成auto_increment时,进行并发性能测试出现主键反复Duplicate entr ...

  3. TCP并发服务器简单示例

    并发服务器的思想是每一个客户的请求并不由服务器直接处理,而是由服务器创建一个子进程来处理 1. 服务器端 #include <stdio.h> #include <sys/types ...

  4. ZPL打印机公用代码

    using System;using System.Collections.Generic;using System.Linq;using System.Web; using System.Text; ...

  5. python3 + pycharm+requests+HTMLTestRunner生成不了测试报告html

    生成不了测试文件,是运行的方式不对.因为在运行的时候,pycharm默认使用unit-test运行,所以没有生成测试报告.至于为什么会这样子,我就不清楚了,不过想了解更多的朋友,可以百度一下. 解决的 ...

  6. jsonp跨域请求及本质

    在html页面中,能实现跨域请求的是 第一: <script src="http://localhost:59602/JsonpTest.ashx?callBack=callBack& ...

  7. (转)Python3.5 day3作业二:修改haproxy配置文件

    原文:http://www.cnblogs.com/iwxk/p/6010018.html

  8. 安装rails遇到的问题

    1 要安装js运行环境,例如Nodejs,如果使用nvm记得,安装完执行nvm use '版本号' 2 或者在Gemfile文件中加入: gem 'execjs'gem 'therubyracer'然 ...

  9. Unity C# string 与byte 直接的转换

    指纹模版的转换 可还原字节数组byt string str = Convert.ToBase64String(bytes); byte[] bytes = Convert.FromBase64Stri ...

  10. Devexpress Xtrareports 创建多栏报表

    根据官方回答:多列或多行(取决于当前的多栏设置)呈现数据的报表 这种报表是有用的,例如,当每个明细区都只显示少量数据.并且需要在一列的右侧打印下一个明细区时,这样就能充分利用整个页面的宽度,此外,当创 ...