时间:2021-05-02
文件在 /api/uc.php 搜索 set_cookie
复制代码
代码如下:
function set_cookie($user_id=”, $user_name = ”, $email = ”)
{
if (empty($user_id))
{
$time = time() – 3600;
setcookie(‘ECS[user_id]‘, ”, $time);//这里有问题
setcookie(‘ECS[username]‘, ”, $time);//这里有问题
setcookie(‘ECS[email]‘, ”, $time);//这里有问题
}
else
{
$time = time() + 3600 * 24 * 30;
setcookie(“ECS[user_id]“, $user_id, $time, $GLOBALS['cookie_path'], $GLOBALS['cookie_domain']);
setcookie(“ECS[username]“, $user_name, $time, $GLOBALS['cookie_path'], $GLOBALS['cookie_domain']);
setcookie(“ECS[email]“, $email, $time, $GLOBALS['cookie_path'], $GLOBALS['cookie_domain']);
}
}
因为假设这样的架构
http://域名/ 是 ecshop ,http://域名/bbs/ 为论坛dzX2, 那么,在ec登陆后,dzX2 点退出,
会发送一个javascript申请到 /api/uc.php的 logout请求 ( 如果setcookie 只是在 /bbs/ 下 设置cookie 为空,那么就清空不了cookie
严格的应该是
setcookie('ECS[user_id]', '', $time,$GLOBALS['cookie_path'], $GLOBALS['cookie_domain']);
那么代码可以修改为
还有要修改ecshop的 ucenter插件,ncludes/modules/integrates/ucenter.php
如图两部分
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
有时候我们在Discuz整合ECShop同步的时候,登出无法同步,那么就可以参考下面的修改方法修改ecshop/api/uc.php
设置UCenter下各应用同步登录Comsenz同时发布了UCenter、UCenterHome、Discuz!、SupeV、ECShop、SupeSite等多
做Web开发经常会要求实现多站点同步登录的情况,对于PHP开发来说,我们可以使用ucenter来实现多个站点同时登陆同时退出,用户同步的功能。下面我们一起看一下
研读过ucenter的原理后,再结合测试ucenter+modoer+discuzX1.5+ecshop2.7.2实现了完美的同步登入和退出发现一个简单的方法就
复制代码代码如下://打开discuz/api/uc.php//synlogin方法(180行)处,往下找到if(($member=getuserbyuid($
Copyright © 1999-2023 中企动力科技股份有限公司(300.cn)All Rights Reserved
京公网安备11030102010293号 京ICP证010249-2