如何根据cookie(PHPSESSID or sid)获得对应的用户id?

回贴
回帖数 1
阅读数 2699
发表时间 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 于磊 最后编辑
1个回复
石洋洋 沙发
不太清楚贵公司为什么要这样做,禅道没有根据sessionid返回usedid的功能。建议还是通过禅道默认的api 进行验证获取禅道中的数据,可以参考:http://devel.easycorp.cn/book/extension/api-intro-43.html  具体api可以在禅道 后台-二次开发- api中查看。
2017-07-25 18:03:55 石洋洋 回帖
联系人
刘璐/高级客户经理
电话(微信)
18562550650
QQ号码
2845263372
联系邮箱
liulu@chandao.com
返回顶部
刘璐
高级客户经理
18562550650
2845263372
统一服务热线 4006-8899-23
我要提问提问有任何问题,您都可以在这里提问。 问题反馈反馈点击这里,让我们聆听您的建议与反馈。