php单点登录

原创
2016-06-06 20:25:37924浏览

一个商城一个论坛系统,怎么实现单点登录?在商城中成功登录点击一个按钮就会登录进入到论坛系统中。

回复内容:

一个商城一个论坛系统,怎么实现单点登录?在商城中成功登录点击一个按钮就会登录进入到论坛系统中。

可以看下Ucenter,或许可以实现你的需求。

若在同一个服务器可以设置session共享,
ini_set('session.cookie_domain', '.domain.com');

两个系统在一个域名下的话,可以将登陆凭证写cookie,这样不管登陆那个都可以将cookie里的登陆信息带过去。

不在一个域名下的话,可以在跳转的时候从当前系统取出登陆信息(token之类的)一并带过去,第二个系统可以根据token做校验,这样两个系统需要共用一套登陆校验机制。

提主可以参照一下CAS的思路.

原来考虑过,没具体实施,仅供参考:

  • 统一登录

    • 各app登录时跳转到 http://auth.abc.com/login 页面;

    • 用户成功登录后,在 auth.abc.com domain 下设置 cookie(当然可以设置服务端缓存): auth_uid & auth_sign;

    • auth_sign 规则: md5(auth_uid + 混淆码);

  • 自动登录

    • 各app需要校验登录的链接,在拦截器判断是否有登录过的信息,若存在,校验登录信息和签名;没有的话通过auth跳转,附带app_name,比如
      (http://auth.abc.com/verify?redirect_url=.....)

    • auth校验auth_uid和auth_sign cookie,失败后跳转到登录界面,成功后跳转到redirect_url并附带 user_id 和 auth_ticket

    • auth_ticket 生成要根据 user_id 和 auth_key(app和auth中都保存)生成,用于app校验是否有效

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。