如何根据cookie(PHPSESSID or sid)获得对应的用户id?
回帖数
1
阅读数
2700
发表时间
2017-07-25 13:56:38
希望第三方系统与禅道集成,大家都放在一个域名下,希望登录禅道以后,再访问这个第三方系统不必再登陆。
基本的思路是:第三方系统拿到浏览器的cookie,去禅道那边问一下:这个cookie(sessionId)在你的系统里对应的是那个userId?
禅道回答了是哪个用户后,第三方系统再用这个userId来自动登录。
禅道那边我想放一个php文件,先检查询问者是不是指定的第三方系统服务器ip,如果是的话,获得参数sessionId,并在禅道的session集合中找到对应的session,并返回session中存放的userId。
我现在的实验的做法是:
在禅道的www文件夹中放了一个getuserbycookieid.php文件(内容如下),正常登陆系统后,再请求这个文件:
session_start();
echo session_id();
echo count($_SESSION);
发现session_id打印出来的是PHPSESSID(通过firebug观测到的),但是$_SESSION这个数组竟然是空的,
请教一下大家,有没有什么好的办法可以通过cookieId来获得到userId?
我不太懂PHP,稍微知道一些java,这个第三方系统是用java写的。
2017-07-25 13:57:08 于磊 最后编辑
不太清楚贵公司为什么要这样做,禅道没有根据sessionid返回usedid的功能。建议还是通过禅道默认的api 进行验证获取禅道中的数据,可以参考:http://devel.easycorp.cn/book/extension/api-intro-43.html 具体api可以在禅道 后台-二次开发- api中查看。
2017-07-25 18:03:55 石洋洋 回帖
联系人
张淑钧/高级客户经理
电话(微信)
13156280939
QQ号码
2082428410
联系邮箱
zhangshujun@chandao.com