网上都说LDAP可以实现单点登录,但找了好长时间都没找到具体点的方案,个人感觉很难基于LDAP实现单点登录,因为LDAP本质上来讲就一简易的数据库.
请各位高手帮忙看看,用LDAP如何实现单点登录,说说大致的思路,谢谢!

解决方案 »

  1.   

    相同主域名的话可以尝试cookie来共享登陆状态。
    不同的话可以尝试中间件,webservice的那种东西。
      

  2.   


    不同主域名的,不是都说可以用LDAP实现的吗,就是不知大致的思路!
      

  3.   

    用户的基本信息保存在ldap服务器中,当有人从一个网站登录时用ldap进行验证,并写一个唯一的标示、状态等到ldap中。当他从其他网站使用
    同一个标示过来的时候,验证是否已经登录。基本的思路差不多的。
      

  4.   

      要一套自己的单点登录系统,单点登录的基本思路是:
            举sso系统的例子:
          用户第一次登录时,用户通过ldap中的用户信息进行鉴权,鉴权通过后,sso系统会还回一个通票
          给该用户,当用户访问其他服务时,用户通过携带的通票到sso系统进行鉴权,鉴权通过,即可以访问该
          业务服务。
        个人观点,可能思路有问题。
      

  5.   

    小伙子,请尝试用JBoss Federated SSO,做超大型网站,sso是必不可少且很关键,当初我把jboss这个项目的源码全看了遍,这个东西最终还需要配合一下缓存以及结合用户子系统一起做,当然如果是小型网站就没有这么复杂了,做java一定要知道apache.org和jboss.org,轻量级的看apache,企业级看jboss。
    另外还有一个josso你可以考虑一下。
      

  6.   

    我也想去了解一下,前几天是用cas server去实现单点登录的
      

  7.   

    我最近刚实现跨域的单点登陆,我本来是用HttpClient的,但跨域好像有点问题,后来想改用webservices但最后选择了用jsonp,你上网查一下,瞒简单的,淘宝就用这个的,用Httpclient或是webservice太浪费资源了,用jsonp的原理就是根据浏览器没有区分跨域的问题而产生的,你只要跳转到jsp页面,那个页面你写个<script type="text/javascript" src="请求认证的地址?这个参数是你当前页面要写的那个回调函数"></script>然后在页面再写多一个脚本函数,而在认证系统那边只要取得cookie后用PrintWrite写出这个回调函数就行了。有一个需要注意的是如果你是在内网中想测试不同域的话最好不要用IP地址,用hosts映射虚拟的域名,不然可能存得进cookie但拿不出来,我试了好久,还有就是在不同电脑上测试时你存入cookie时要在报头那里写入p3p协议,这个才能允许第三方写入cookie,不然浏览器的cookie的设置中高会写不进。大概就是这样。希望对你有帮助。