使用LDAP(ApacheDS)构建统一认证服务(SSO单点登录)

 
构建团队协作的体系,需要涉及很多个系统,如SVN、Jenkins、Trac、Nexus等,而一般而言每个系统均有其用户体系,当我们新增一个成员的时候,需要在每个系统的用户体系中添加用户;这样的工作往往是比较繁琐而冗余的。
 
通过LDAP这种轻量级目录访问方式共享认证成为一种行业标准,大多数系统均支持LDAP的认证方式。
 
1、LDAP介绍
LDAP的介绍可以通过搜索引擎找到,不赘述。LDAP是一种协议,它不是具体的实现,主要特点:
a、简单;
b、树形结构;
c、有权限控制(ACL);
d、schema来控制数据结构;
e、可以安全访问(STLS或者SSL);
f、有简单的LDAP语法。
 
2、LDAP的应用场景
a、数字证书管理,授权管理,单点登录;
b、分布式系统中的UDDI;
c、网络资源管理,如DNS、Mail服务、用户管理
 
2、LDAP的服务端实现
a、openLDAP,这个比较著名,yum可以直接安装;
b、389 Directory Server,这个是Federa上面自带的企业服务;
c、ApacheDS(http://directory.apache.org),apache上面维护的目录服务,纯Java写的,支持Eclipse插件访问;
d、其他很多服务端实现可以参考(http://www.oschina.net/project/tag/180/ldap)。
 
3、LDAP的客户端
客户端的实现就很多了,比较流行的是PhpLDAPAdmin
LDAP详细介绍:LDAP中文学习手册.doc

 
服务端使用ApacheDS,客户端使用Apache Directory studio的Eclipse插件。
1、笔者是Java程序猿,apache的粉丝;
2、ApacheDS配置简单,十分可控;
3、ApacheDS支持Eclipse插件,可以在编写代码的时候,随时添加成员而无额外的成本;
其实macketplace里面也有的,搜索“Apache Directory Studio” 就可以
 
 

LDAP的用户需求的更多相关文章

  1. APACHE + LDAP 的权限认证配置方法

    原文地址:http://www.chinaunix.net/jh/49/627646.html 一.前言 很多朋友希望利用 Apache 通过 LDAP 进行用户认证及权限管理.     通过多次试验 ...

  2. Centos 7 vsftpd ldap 配置

    #ldap 安裝配置 环境Centos7#安装 yum install -y openldap openldap-clients openldap-servers migrationtools pam ...

  3. ABP源码分析四十六:ABP ZERO中的Ldap模块

    通过AD作为用户认证的数据源.整个管理用户认证逻辑就在LdapAuthenticationSource类中实现. LdapSettingProvider:定义LDAP的setting和提供Defaut ...

  4. [原创]django+ldap+memcache实现单点登录+统一认证

    前言 由于公司内部的系统越来越多,为了方便用户使用,通过django进行了单点登录和统一认证的尝试,目前实现了django项目的单点登录和非django项目的统一认证,中间波折挺多,涉及的技术包括dj ...

  5. [原创]django+ldap实现单点登录(装饰器和缓存)

    前言 参考本系列之前的文章,我们已经搭建了ldap并且可以通过django来操作ldap了,剩下的就是下游系统的接入了,现在的应用场景,我是分了2个层次,第一层次是统一认证,保证各个系统通过ldap来 ...

  6. [原创]django+ldap实现统一认证部分二(python-ldap实践)

    前言 接上篇文章 [原创]django+ldap实现统一认证部分一(django-auth-ldap实践) 继续实现我们的统一认证 python-ldap 我在sso项目的backend/lib/co ...

  7. [原创]django+ldap实现统一认证部分一(django-auth-ldap实践)

    前言 接之前我的文章,django+ldap+memcache实现单点登录+统一认证 ,ldap部署相关,ldap双机\LAM配置管理\ldap备份还原,目前来说,我们已经有了高可用性的ldap环境了 ...

  8. ldap部署相关,ldap双机\LAM配置管理\ldap备份还原

    前言 接之前我的文章,django+ldap+memcache实现单点登录+统一认证 就单点登录实现过程进行详细记录,ldap是一切的基础,可以把它理解成一个读强写弱的文件类型数据库,统一认证我们通过 ...

  9. LDAP注入与防御解析

    [目录] 0x1 LDAP介绍 0x2 LDAP注入攻击及防御 0x3 参考资料 0x1 LDAP介绍 1 LDAP出现的背景 LDAP(Lightweight Directory Access Pr ...

随机推荐

  1. 2018-3 WebStorm最新版本破解方法

    今天重新打开WebStorm发现之前输入的License Server没法用了,不能通过WebStorm的检测,搜索良久,终于找到了最新版本WebStorm的破解方法. 在激活页面选择License ...

  2. PAT乙级-1047. 编程团体赛(20)

    编程团体赛的规则为:每个参赛队由若干队员组成:所有队员独立比赛:参赛队的成绩为所有队员的成绩和:成绩最高的队获胜. 现给定所有队员的比赛成绩,请你编写程序找出冠军队. 输入格式: 输入第一行给出一个正 ...

  3. JAVA 新手注意事项

    1.  System.exit(0);  强行关闭虚拟机         2.   System.out.println("*")     输出一个*并换行    (没后面的ln表 ...

  4. 走进webpack(1)--环境拆分及模块化

    初级的文章和demo已经基本完成了,代码也已经上传到了我的github上,如果你对webpack的使用并不是十分了解,那么建议你回头看下走近系列,里面包括了当前项目中使用频繁的插件,loader的讲解 ...

  5. 测试&标准说明文章

    这是一篇测试用文章,主要想想怎么把纸质本上的习惯沿袭到博客上来 #coding=utf-8 import sys def main(): print "this is some code f ...

  6. windows上SSH服务连接远程主机失败

    putty连接出现错误提示"Network error:connection refused",xshell连接出现错误提示"connection failed:(por ...

  7. Catch That Cow_bfs

    Catch That Cow 题目大意:FrammerJohn找奶牛,给出n和k.FJ在n处.每次他可以向左移动一格.向右移动一格或者移动到自己当前格子数乘2的地方.求FJ最少移动多少次.其中,FJ和 ...

  8. lua精灵移除报对象非法

    function addLeftCard(isVisible) if self.left_CardSprite == nil then self.left_CardSprite = cc.Sprite ...

  9. Excel导出不同浏览器下文件名乱码问题

    解决思路:通过请求头中的User-Agent参数中的信息来区分不同浏览器 public Object exportPz(HttpServletRequest request, HttpServletR ...

  10. Java字符串的split(String str)方法空串的问题

    String strs[] = "SS1BB2CC3".split("\\D+"); public static String Test(){ Date d = ...