原文地址:http://www.chinaunix.net/jh/49/627646.html

一、前言

很多朋友希望利用 Apache 通过 LDAP 进行用户认证及权限管理。 
    通过多次试验,总结出以下方法,与大家共享。 
     
    配置思路:对用户通过“组(groups)”进行管理,对于需要权限控制的目录, 
    则通过“组”进行控制。

参考: 
        http://www.moocky.net/Manual/apache/mod/mod_auth_ldap.html 
        http://bbs.chinaunix.net/forum/viewtopic.php?t=618651

二、用户需求

1. 用户结构: 
    YourComp 
        |- groups (departments) 
        |    |- grp1 (dep1) 
        |    |    |- user1 
        |    |    \- user2 
        |    |- grp2 (dep2) 
        |    |    |- user3 
        |    |    \- user4 
        |    \- grp3 (dep3) 
        |        |- user2 
        |        \- user3 
        \- members (employees) 
            |- user1 
            |- user2 
            |- user3 
            \- user4

2. 目录权限: 
    AppsDir 
        |- Dir1    允许 grp1 访问 
        |- Dir2    允许 grp2 访问 
        \- Dir3    允许 grp1, grp3 访问

三、配置步骤

1. 建立 LDAP 基础记录,BaseDn.ldif 文件: 
     
    dn: dc=YourComp 
    dc: YourComp 
    objectClass: domain 
     
    dn: ou=members,dc=YourComp 
    ou: members 
    objectClass: organizationalUnit 
     
    dn: ou=groups,dc=YourComp 
    ou: groups 
    objectClass: organizationalUnit

2. 建立 LDAP 用户记录,UserDn.ldif 文件: 
     
    dn:cn=user1,ou=members,dc=YourComp 
    cn: user1 
    sn: USER1 
    uid: user1 
    userPassword: user1 
    objectClass: inetOrgPerson 
     
    dn:cn=user2,ou=members,dc=YourComp 
    cn: user2 
    sn: USER2 
    uid: user2 
    userPassword: user2 
    objectClass: inetOrgPerson 
     
    dn:cn=user3,ou=members,dc=YourComp 
    cn: user3 
    sn: USER3 
    uid: user3 
    userPassword: user3 
    objectClass: inetOrgPerson 
     
    dn:cn=user4,ou=members,dc=YourComp 
    cn: user4 
    sn: USER4 
    uid: user4 
    userPassword: user4 
    objectClass: inetOrgPerson

3. 建立 LDAP 用户组记录,GroupDn.ldif 文件: 
     
    dn: cn=grp1,ou=groups,dc=YourComp 
    cn: grp1 
    objectClass: groupOfUniqueNames 
    objectClass: top 
    uniqueMember: cn=user1,ou=members,dc=YourComp 
    uniqueMember: cn=user2,ou=members,dc=YourComp 
     
    dn: cn=grp2,ou=groups,dc=YourComp 
    cn: grp2 
    objectClass: groupOfUniqueNames 
    objectClass: top 
    uniqueMember: cn=user3,ou=members,dc=YourComp 
    uniqueMember: cn=user4,ou=members,dc=YourComp 
     
    dn: cn=grp3,ou=groups,dc=YourComp 
    cn: grp3 
    objectClass: groupOfUniqueNames 
    objectClass: top 
    uniqueMember: cn=user3,ou=members,dc=YourComp 
    uniqueMember: cn=user2,ou=members,dc=YourComp

4. 运行 ldapadd 添加记录

添加根记录: 
    ldapadd -x -D "cn=root,dc=YourComp" -w secret -f BaseDn.ldif

添加用户记录: 
    ldapadd -x -D "cn=root,dc=YourComp" -w secret -f UserDn.ldif

添加用户组记录: 
    ldapadd -x -D "cn=root,dc=YourComp" -w secret -f GroupDn.ldif

5. 建立 Apache 配置文件,application_auth.conf: 
     
    <Location /AppsDir>; 
        AuthType Basic 
        AuthName "Please login" 
              
        AuthLDAPEnabled on 
        AuthLDAPAuthoritative on 
        AuthLDAPURL "ldap://localhost/dc=YourComp?uid?sub?(objectClass=*)" 
    </Location>; 
     
    <Location /AppsDir/dir1>; 
        require group cn=grp1,dc=YourComp 
    </Location>; 
      
    <Location /AppsDir/dir2>; 
        require group cn=grp2,dc=YourComp 
    </Location>; 
     
    <Location /AppsDir/dir3>; 
        require group cn=grp1,dc=YourComp cn=grp3,dc=YourComp 
    </Location>;

6. 在 httpd.conf 文件中,加入以下行: 
  
    include conf/application_auth.conf

APACHE + LDAP 的权限认证配置方法的更多相关文章

  1. Nginx用户认证配置方法详解(域名/目录)

    Nginx超级强大它可以单独为一个域名设置用户认证,方法也很简单我们只要生成用户认证的用户名和密码,然后再Nginx添加auth认证配置即可 Nginx可以为某一个域名单独加用户认证,具体做法如下: ...

  2. php程序Apache,IIS 7,nginx 伪静态配置方法总汇

    一,Apache 环境伪静态配置方法: 在根目录下放置一个.htaccess 文件,内容如下: <IfModule mod_rewrite.c> Options +FollowSymlin ...

  3. SVN+Apache域用户认证配置方法_Windows(转,重新排版,部分内容更新优化)

    欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...

  4. 给已经编译运行的Apache增加mod_proxy模块的配置方法

    在Linux系统下,需要给已经编译运行的Apache增加mod_proxy模块,可以按照如下方法配置. 具体配置步骤如下: 1. 首先定位到Apache源码的 proxy目录 # cd /root/s ...

  5. Apache服务器SSL双向认证配置

    以Win32版Apache与OpenSSL为例,介绍从创建数字证书到Apache配置的整个过程,希望对读者有所帮助. Apache是目前最流行的WEB服务器之一,借助OpenSSL库,我们可以在Apa ...

  6. PHP环境(apache,PHP,Mysql)详细配置方法

    1.安装Apache ,直接运行安装即可,我们将其安装到D:\PHP\Apache/目录下 2.将PHP压缩包解压内容放到指定目录(例如:D:\PHP\Php5,将目录中的PHP.iniDevelop ...

  7. csharp:引入app.manifest,程序在win7下以管理员权限运行配置方法

    https://msdn.microsoft.com/en-us/library/windows/desktop/hh848036(v=vs.85).aspx https://msdn.microso ...

  8. apache、nginx、tomcat配置方法

    https://www.cnblogs.com/chenmh/p/5121830.html

  9. Linux Apache虚拟主机配置方法

    apache 虚拟主机配置 注意: 虚拟主机可以开很多个 虚拟主机配置之后,原来的默认/etc/httpd/httpd.conf中的默认网站就不会生效了 练习: 主机server0 ip:172.25 ...

随机推荐

  1. poj2117 Electricity

      试题描述 求一个图删除一个点之后,联通块最多有多少. 输入 多组数据.第一行两个整数 P,C 表示点数和边数.接下来 C 行每行两个整数 p1,p2,表示 p1 与 p2 有边连接,保证无重边.读 ...

  2. Switching regulator forms constant-current source

    Many applications require current sources rather than voltage sources. When you need a high-current ...

  3. Struts2 include(包含)多个配置文件

    Struts 2自带有“包含文件”功能,包含多个Struts配置文件合并为一个单元. 单个Struts配置文件 让我们来看看一个糟糕的 Struts 2 配置示例. struts.xml <?x ...

  4. Ubuntu 11.04安装GCC 4.6.1

    首先下载相应的源代码:ftp://ftp.dti.ad.jp/pub/lang/gcc/releases/gcc-4.6.1/#下载 gcc-4.6.1.tar.bz2 ftp://ftp.dti.a ...

  5. SQL Server 2008内存及I/O性能监控

    来源: it168  发布时间: 2011-04-12 11:04  阅读: 10820 次  推荐: 1   原文链接   [收藏]   以下均是针对Window 32位系统环境下,64位的不在下面 ...

  6. mysql数据库测试库下载

    The mysqlslap program can be helpful for simulating a high load produced by multiple clients issuing ...

  7. React事件初探

    作者:朱灵子 React 是一个 Facebook 和 Instagram 用来创建用户界面的 JavaScript 库.创造 React 是为了解决一个问题:构建随着时间数据不断变化的大规模应用程序 ...

  8. EatCam Webcam Recorder Pro

    EatCam Webcam Recorder Pro Webcam Recorder records webcams to AVI, FLV, WMV files and watch them whe ...

  9. 固定的价格就意味着背叛——《practices of an agile developper》

    “对这个项目,我们必须要有固定的报价.虽然我们还不清楚项目的具体情况,但仍要有一个报价.到星期一,我需要整个团队的评估,并且我们必须要在年末交付整个项目.” Venkat & Andy 提出了 ...

  10. Mac配置PHP开发环境

    安装环境如下: Mac OS 10.10.1 Apache 2.4.9 PHP 5.5.14 MySQL 5.6.22 Apache配置 在Mac OS 10.10.1中是自带Apache软件的,我们 ...