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等和授权模块。它还允许高级逻辑应用于授权处理。
下面的示例创建两个不同的ldap授权供应商基于ldap-group授权提供者的别名。这个示例允许一个授权的位置检查主机内部多个ldap组成员:
<AuthzProviderAlias ldap-group ldap-group-alias1 cn=<span>my</span>-group,o=ctx><span> AuthLDAPBindDN cn</span>=youruser,o=<span>ctx AuthLDAPBindPassword yourpassword AuthLDAPURL ldap</span>://ldap.host/o=<span>ctx </span></AuthzProviderAlias> <AuthzProviderAlias ldap-group ldap-group-alias2 cn=<span>my</span>-other-group,o=dev><span> AuthLDAPBindDN cn</span>=yourotheruser,o=<span>dev AuthLDAPBindPassword yourotherpassword AuthLDAPURL ldap</span>://other.ldap.host/o=dev?<span>cn </span></AuthzProviderAlias><span> Alias </span>/secure /webpages/<span>secure </span><Directory /webpages/secure> <span>Require</span><span> all granted AuthBasicProvider file AuthType Basic AuthName LDAP_Protected_Place </span><span>#</span><span>implied OR operation</span> <span>Require</span> ldap-group-<span>alias1 </span><span>Require</span> ldap-group-<span>alias2 </span></Directory>
授权容器指令、和可以相互结合,需要指令来表达复杂的授权逻辑。
下面的例子表达以下授权逻辑。为了访问资源,用户必须是superadmin用户,或者是管理组和管理员LDAP组和属于销售组或LDAP属性销售部门。此外,为了访问资源,用户必须不属于临时工组或LDAP组临时员工。
<Directory /www/mydocs> <RequireAll> <RequireAny> <span>Require</span><span> user superadmin </span><RequireAll> <span>Require</span><span> group admins </span><span>Require</span> ldap-group cn=Administrators,o=<span>Airius </span><RequireAny> <span>Require</span><span> group sales </span><span>Require</span> ldap-attribute dept=<span>"</span><span>sales</span><span>"</span> </RequireAny> </RequireAll> </RequireAny> <RequireNone> <span>Require</span><span> group temps </span><span>Require</span> ldap-group cn=Temporary Employees,o=<span>Airius </span></RequireNone> </RequireAll> </Directory>
mod_authz_core提供了一些通用的授权提供程序可用于的指令。
env提供者允许访问控制服务器基于一个环境变量的存在。当需要指定env这个env-variable时候,然后请求被允许访问环境变量是否env-variable存在。服务器能够以灵活的方式设置环境变量基于客户机请求的特性使用 mod_setenvif提供的指令。因此,该指令可用于允许访问基于等因素客户用户代理(浏览器类型),推荐人或其他HTTP请求头字段。
SetEnvIf User-Agent ^KnockKnock/<span>2</span>\.<span>0</span><span> let_me_in </span><Directory /docroot> <span>Require</span><span> env let_me_in </span></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
你所说的用命令安装那肯定是在Linux系统
有2种方法
1、rpm包安装
最简单直接用yum -y install httpd这样就可以
2、源码安装,下载你所要的版本,然后按下面步骤
#tar zxvf apache 2.4.*
#cd apache2.4.*
#configure
#make
#make install
这样就可以
吴朝阳
[权威专家]
不用找了,解决不了的。win下的通病,apache本事就不是win下的产物。win下推荐使用iis,相信微软的技术。