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. 微软原版SQL Helper

    代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-- ...

  2. MERGE批量增删查改数据

    MERGE优点: 在批量处理数据的时候,我可以用到merge一次完成数据处理. 示例代码一: MERGE INTO student AS t using ( AS age) s ON t.Age=s. ...

  3. oracle Clob类型转换成String类型

    转载:https://www.cnblogs.com/itmyhome/p/4131339.html Clob类型转换成String类型 oracle中表结构如下: create table GRID ...

  4. Vue循环中多个input绑定指定v-model

    Vue.js中提供了v-model可以双向绑定表单元素,这个方法可以非常方便的获得输入的值,但是有时候表单元素需要循环生成,在循环中要怎样获得指定输入框的值呢 这里介绍两种,一种是v-for中循环生成 ...

  5. T-SQL 聚合函数Count与NULL

    大家都知道聚合函数是做统计用的,而count函数是统计行数的,也就是满足一定条件记录的行数. 下面我们来看下这个count与NULL的微妙关系. CREATE TABLE dbo.Student ( ...

  6. #1413 : Rikka with String 后缀自动机 + 二级差分

    http://hihocoder.com/problemset/problem/1413?sid=1199641 这题断断续续做了2个多星期吧,一直不会 设总答案为sum,替换后新加的子串数量为x,失 ...

  7. MVC视图之间调用方法总结

    调用视图方式有两种: 一:直接调用(不通过controller) <body> @Html.Partial("../Shared/Error"); </body& ...

  8. linux 下库的深入调研

    linux操作系统中,linux库文件路径还是比较常用的,于是我研究了一下linux库文件路径,在这里拿出来和大家分享一下,希望对大家有用. 库文件在连接(静态库和共享库)和运行(仅限于使用共享库的程 ...

  9. ASP .NET 404 Not Found fontawesome-webfont.woff?v=4.0.3

    解决Web部署 svg/woff/woff2字体 404错误最近项目中用到了fontawesome-webfont.svg等字体.部署项目后,发现没有<,+等符号,字体也不对,发现浏览器总是报找 ...

  10. [转]javascript之数组操作

    javascript之数组操作 .数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个 ...