现在要为校园做一个系统,我主要是负责统一身份认证这块,要求用到LDAP,但我对它一点都不了解,希望高手解答下,谢谢了。
1.LDAP我把它想象成一个特殊的数据库,可以吗?那它遍历树结构是不是LDAP服务器管理的,我不用管?
2.如果想象成数据库,那java怎么连接它呢?像数据库有JDBC,难道是JNDI? 具体点,DirContext接口?
3.我们现在有用户的相关信息的数据库表了,为什么还要用LDAP,这不是很麻烦吗?再LDAP怎么跟关系型数据库联系起来啊?
4.用户,权限,系统之间我应该怎么设计呢?用组?角色?
  比如,有多个用户,也有多了系统(图书馆的,教务处的等等),我怎么设计这多个用户通过不同权限来访问不同系统呢?如果放到一个目录里面,那不成了网状结构了?如果放到不同目录里面,那不同的目录怎么连接?难道有像数据库中的“外键”??
5.LDAP 跟ACL 之间的关系(这个比较笼统)
我并不了解LDAP,也看了点资料,但并不能很好的理解,所以我问得都比较模糊,希望您能帮我解决下现在的问题,在此,您对此问题的关注,先表示感谢了。

解决方案 »

  1.   

    通常用JNDI建立LDAP连接。用Spring LdapTemplate可以简化对LDAP的操作。
    可参考:http://static.springsource.org/spring-ldap/docs/1.3.x/reference/html/introduction.html
      

  2.   

    楼主可以 参考 耶鲁cas单点登录系统
      

  3.   

    LDAP的 树状的目录结构,  各种主流语言 基本上都有连接LDAP的 API, 用户权限 不太清楚,,你可以在 本机上装一个LDAP晚一下 openLDAP