1、用户登录discuz,通过logging.php文件中的函数uc_user_login对post过来的数据进行验证,也就是对username和password进行验证。
2、如果验证成功,将调用位于uc_client下client.php文件中的函数uc_user_synlogin,在这个函数中调用 uc_api_post('user', 'synlogin', array('uid'=>$uid))。
3、然后这个函数后向Ucenter的index.php传递数据,index.php接受传递的数据,获得model为user,action为synlogin的值。
4、然后Ucenter的index.php调用control目录下的user.php类中的onsynlogin方法,通过foreach循环,以javascript的方式通知uc应用列表中开启同步登陆的应用进行同步登录;即通过get方式传递给各个应用目录中api下的uc.php一些数据。
5、uc.php接收通知并处理get过来的数据,并在函数synlogin(位于uc.php中)通过函数_authcode加密数据(默认以UC_KEY作为密钥),用函数_setcookie设置cookie。
6、各个应用用对应的密钥解码上面设置的cookie,得到用户id等数据;通过这个值来判断用户是否经过其它应用登录过,从而让用户可以自动登陆。
应用程序的logging.php ------>uc_client中的client.php------>Ucenter------>应用程序中api/uc.php
其实Ucenter实现同步登陆的原理就是cookie,一个应用登陆成功之后,向Ucenter传递数据,让Ucenter通知其他的应用也设置cookie,这样用户在访问其他应用的时候通过已经设置好的cookie实现自动登陆。了解了Ucenter的同步原理,再遇到无法同步登陆,或者开发一些与UCenter接口的时候就会容易很多。
http://blog.csdn.net/liaohongchu/article/details/6090224
分享到:
相关推荐
要实现UCenter通信和同步登录,你需要完成以下几个关键步骤: 1. **安装UCenter**: 在服务器上安装UCenter,配置好数据库连接和基本设置。这一步确保了用户数据的存储和管理平台。 2. **接入子站点**: 对每个需要...
这些文件可能包含了实现同步登录和注册的关键代码。在进行此类操作前,建议先备份原有文件,以防止意外情况导致系统无法正常运行。 文件名"同步注册免激活同步登录"可能包含了一些修改过的PHP脚本或配置文件,例如...
下面我们一起看一下ucenter是如何实现同步登陆的。 首先站点都要引入一个uc_client这样一个客户端,以登陆为例,登陆时首先会调用一个外部函数,uc_client/client.php下的uc_user_login检查是否存在此用户,如果正确...
Ucenter作为一个成熟的用户中心系统,在多个项目之间实现用户数据的同步非常方便。本篇将详细介绍如何在ucenter_1.6版本中实现多项目之间的双向同步功能,包括必要的文件复制与修改步骤。 #### 二、必要的文件复制 ...
实现同步登录的具体步骤涉及多个函数和方法,以下是一些关键点: - **初始化输入**:通过`$this->init_input();`获取必要的登录参数。 - **获取用户信息**:通过`$_ENV['user']->get_user_by_uid($uid)`根据用户ID...
标题中的"ecshop 同步ucenter,一步登陆discuzX"指的是在电子商务平台ECShop中集成用户中心(Ucenter)的同步登录功能,使得用户在登录ECShop时也能同步登录到论坛系统Discuz! X。这通常是通过Ucenter的API接口实现的,...
Java整合Ucenter实现统一登录和退出的源码是基于UCenter通信协议的一种技术实践,它主要解决了在多个应用系统间用户身份验证的统一问题。UCenter是一个由Discuz!开发的用户中心系统,它可以集中管理多个网站或应用的...
本话题将详细探讨如何通过UCenter、MediaWiki和Discuz X2这三款软件实现单点登录的集成。 首先,UCenter是由Comsenz开发的一款用户中心系统,主要用于管理和同步多个应用的用户数据,如论坛(Discuz!)、博客、问答...
目标是让用户在登录ShopEX之后,其登录状态能够自动同步到天天团购和其他关联应用中,实现单点登录的功能。 #### 问题表现 在实际操作中发现,当用户在ShopEX上登录后,尽管可以正常使用ShopEX的所有功能,但登录...
"说明.txt"可能是对实现同步登录过程的详细说明,包括安装、配置和使用方法。而"discuz"和"uchome"目录可能包含了Discuz! 和Ucenter Home的相关文件,如安装脚本、配置文件或特定的插件。 为了实现这样的功能,...
"shopex整合UC DZ 2X同步登陆修复"这个主题涉及的是将ShopEx电商平台与DZX2论坛实现单点登录(Single Sign-On,简称SSO)的集成过程中的问题及解决方案。 ShopEx与UC的整合是为了解决用户在两个平台上注册和登录时...
X2论坛中实现同步登录和登出功能。 首先,`set_cookie`函数是用于设置或清除浏览器中的Cookie。在原始的ECShop代码中,当需要清除Cookie时,设置的时间戳是当前时间减去3600秒,即一个小时之前,这会导致Cookie被...
这里发布的是在修改过程中碰到的几个文件。 第一次接触codeIgniter,在这里多谢rover和...这个程序主要实现了uc的登陆,注册和退出,以及同步登陆,问题。 更多功能在慢慢开发,以后都会发上来与大家探讨,共同学习。
尽管在测试过程中发现了一些问题,例如phpcms可以实现同步登录,但Discuz!登录到phpcms时无法同步登录,这可能是由于一些配置参数没有调整到位,或者是因为某些系统设置不兼容。但总体上,通过UCenter整合phpcms和...
通过上述步骤,开发者能够利用ASP与Ucenter的整合,实现一个高效、安全的用户管理系统,确保用户数据在整个应用生态中的统一和同步。对于ASP开发者来说,理解和掌握这些功能的实现方法是十分必要的。
Discuz3.2与Java 项目整合单点登陆,discuz 和 JAVA 对接需要一个中间件,它就是 Ucenter。Comsenz(康盛)的 UCenter 当前在国内的单点登录领域占据绝对份额,其完整的产品线令 UCenter 成为了账号集成方面事实上的...
标题中的“Discuz 自动同步登陆的完美解决办法”指的是在使用Discuz论坛系统时,如何实现用户在主系统登录后能够自动登录Discuz论坛,无需再次输入用户名和密码。这是一个常见的需求,尤其对于集成多个服务的网站来...
1、 同步登陆和注销; 2、 同步注册和修改资料; 3、 修改密码的删除用户的同步; 4、用户注册;系统中新增了用户注册接口,用户注册成为用户后可以一站任意通行,发表评论和留言简单快捷。 5、完美的用户体验...
Live!CMP提供门户管理、志愿者管理、救助管理、物资管理、活动管理、财务管理、义卖管理7大功能...CMP在.Net软件中率先支持与UCenter无缝整合,实现了UCenter会员直接(同步)登陆和退出等,极大的方便了站长的运营和管理