在PHP中实现单点登录

时间:2011-03-15 15:43:17

标签: php ldap single-sign-on

任何人都可以指出这种方法的明显缺陷是什么,因为我相信会有一些......

  1. 用户尝试访问受限区域 在“原始盒子”上
  2. 用户未登录,因此被重定向到“安全框”
  3. 用户使用SSL&amp ;;通过LDAP登录LDAPS
  4. 会话在'安全框'上创建
  5. 用户被重定向回“原始信箱”
  6. '原始框'在'安全框'上对session.php执行file_get_contents
  7. '安全框'检查有效会话,如果存在则返回用户名和一些额外信息为xml(显然没有密码信息)
  8. '原始框'使用xml创建本地会话
  9. 允许用户通过每个页面查看进入受保护区域,检查“安全框”是否有效会话

2 个答案:

答案 0 :(得分:0)

我不明白你使用file_get_content()的原因;而不是包含/要求。

为什么你需要获取“session.php”的内容?难道你不能简单地使用$ _SESSION ['myVar'];获得你需要的会话信息?

答案 1 :(得分:0)

  1. 传递数据序列化对象(来自会话类)?
    或者序列化包含所需内容的数组。

  2. 传输数据并保持准确 memcached(可能由任何站点更新,即过期的会话,注销)
    [no] SQL server(对于使用SSO的服务可以是ReadOnly)
    '安全框'上的文本文件(假设它不包含任何敏感数据)

  3. btw:SSO系统的目的是仅验证用户凭据。没有团体等 通常要么返回重定向或用户名(使用https检查)...

    确保您在它们之间使用SSL信任来验证服务是否允许使用sso,或者如果有人伪造“安全框”,则验证服务。