APACHE + LDAP 的权限认证配置方法
一、前言
很多朋友希望利用 Apache 通过 LDAP 进行用户认证及权限管理。
通过多次试验,总结出以下方法,与大家共享。
配置思路:对用户通过“组(groups)”进行管理,对于需要权限控制的目录,
则通过“组”进行控制。
二、用户需求
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
- 浏览: 43088 次
- 性别:
- 来自: 上海
最新评论
apache+ldap权限认证
- 博客分类:
- integration
相关推荐
3. **配置Apache**:编辑`dav_svn.conf`,添加代码以配置SVNPath、认证类型、LDAP连接等,然后重启Apache。 4. **设置HTTP访问权限**:创建密码文件,使用`htpasswd`命令为用户kai生成密码。 5. **检出版本库**:...
Apache服务器可以通过安装相应的模块来支持LDAP认证功能。这种集成方式不仅可以提高安全性,还能简化管理流程。在大型组织中,通常会采用这种方式来对用户进行认证,并根据不同的组分配相应的权限。 #### 三、基本...
"server.xml"是Apache Tomcat或其他Servlet容器的配置文件,可能包含了关于如何配置和连接到LDAP服务器以及设置Acegi安全过滤器链的细节。在该文件中,我们可以找到关于端口设置、部署应用上下文路径、数据源配置...
在IT领域,构建一个基于LINUX、APACHE、PHP、BDB、OPENLDAP和PHPLDAPADMIN的系统是常见的任务,这样的组合常用于搭建高效能的Web服务器和身份认证服务。下面将详细介绍这些组件的功能以及它们的安装配置步骤。 **...
Apache的用户认证管理确保了权限控制,而authz配置则允许对用户和用户组进行精细的权限设置。 【安装Ubuntu 8.10服务器】 首先,你需要安装Ubuntu 8.10(Server或Desktop版),并创建一个名为"administrator"的...
通过Apache LDAP API,开发者可以构建自定义的目录服务客户端应用,实现企业级的身份验证、权限控制和数据管理功能。 在实际开发中,`apache-ldap-api-1.0.0-M20-bin`这样的包通常包含编译好的库文件,开发者可以...
- 用户认证:可以集成LDAP或Active Directory进行用户验证,提高安全性。 - 性能优化:根据服务器性能和用户负载,可能需要调整Apache和Trac的配置参数,如最大连接数、内存使用等。 以上就是Trac与Apache结合的...
总的来说,"apache-ldap-api-1.0.0-M13-bin"提供的工具和库为Java开发者提供了一种强大的方式,让他们能够无缝地集成和管理LDAP目录服务,实现身份验证、权限控制等功能,极大地简化了开发过程。通过深入理解和熟练...
2. 配置Trac的认证方式,可以使用内置的htpasswd认证或者与其他身份验证系统集成,如LDAP、Active Directory。 **测试与维护** 1. 访问`http://your_domain_or_ip/`(或使用HTTPS)以测试Trac是否正常运行。 2. ...
Apache还支持与其他身份验证系统集成,如LDAP、Active Directory等。这样,用户可以从中央身份管理系统登录,提高管理效率和安全性。 总之,Apache的用户认证是其安全性的重要组成部分。理解并正确配置这些机制对于...
【标题】"使用Tomcat验证LDAP by openDJ" 涉及到的知识点主要集中在两个核心领域:Apache Tomcat服务器和 Lightweight Directory Access Protocol (LDAP)。在这个场景中,openDJ作为一个开源的LDAP服务器,用于存储...
- **Realm**:每个Realm对应一个数据源,如数据库、LDAP等,负责认证和授权。需要实现`AuthorizingRealm`接口,并重写`doGetAuthenticationInfo`和`doGetAuthorizationInfo`方法。 - **过滤器链定义**:通过`...
通过定义 Realm,Shiro 可以从数据库、LDAP、或者任何其他数据源获取用户的认证和授权信息。Subject 代表了当前操作的用户,它可以进行登录、登出、检查权限等操作。 接下来,我们来看看Central Authentication ...
在这个场景中,我们看到的是Apache2服务器配置了两种认证方式:Basic认证和LDAP(轻量级目录访问协议)认证。 首先,基础认证(Basic Authentication)是一种简单的HTTP身份验证机制。在步骤11中,通过编辑`/etc/...
项目可能涉及到的技术有Java、Spring框架、JNDI(Java Naming and Directory Interface)用于与LDAP交互,以及Apache ActiveMQ或RabbitMQ作为MOM实现。开发环境可能包括Eclipse或IntelliJ IDEA等IDE,以及Git进行...
在Shiro中,可以集成LDAP服务来处理用户的登录和权限认证。当用户尝试登录时,Shiro会与配置的LDAP服务器进行通信,验证用户名和密码。如果验证成功,Shiro会获取用户的权限信息,以便在应用程序中执行相应的访问...
### SVN+Apache服务器端配置及权限设置详解 #### 一、概述 SVN(Subversion)是一种开源的版本控制系统,广泛应用于软件开发过程中对代码版本的管理。而Apache是一款非常强大的Web服务器,能够提供多种服务支持,...
- **配置LDAP服务器**:学习如何安装和配置OpenLDAP或其他LDAP服务器软件,如Apache Directory Server或Microsoft Active Directory。 - **管理对象**:学习如何创建、修改和删除用户、组、OU(组织单元)等对象。 -...