`

UCenter实现同步登陆

    博客分类:
  • PHP
阅读更多

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

分享到:
评论
1 楼 ldl_xz 2013-07-17  
我最近也用了ucenter跟大家分享下http://www.9958.pw/post/ucenter

相关推荐

    UCenter通信和同步登陆

    要实现UCenter通信和同步登录,你需要完成以下几个关键步骤: 1. **安装UCenter**: 在服务器上安装UCenter,配置好数据库连接和基本设置。这一步确保了用户数据的存储和管理平台。 2. **接入子站点**: 对每个需要...

    ucenter,uchome,discuz同步注册免激活同步登录

    这些文件可能包含了实现同步登录和注册的关键代码。在进行此类操作前,建议先备份原有文件,以防止意外情况导致系统无法正常运行。 文件名"同步注册免激活同步登录"可能包含了一些修改过的PHP脚本或配置文件,例如...

    使用ucenter实现多站点同步登录的讲解

    下面我们一起看一下ucenter是如何实现同步登陆的。 首先站点都要引入一个uc_client这样一个客户端,以登陆为例,登陆时首先会调用一个外部函数,uc_client/client.php下的uc_user_login检查是否存在此用户,如果正确...

    ucenter_1.6 多项目双向同步全攻略(图文详解下)

    Ucenter作为一个成熟的用户中心系统,在多个项目之间实现用户数据的同步非常方便。本篇将详细介绍如何在ucenter_1.6版本中实现多项目之间的双向同步功能,包括必要的文件复制与修改步骤。 #### 二、必要的文件复制 ...

    discuz同步登陆程序

    实现同步登录的具体步骤涉及多个函数和方法,以下是一些关键点: - **初始化输入**:通过`$this->init_input();`获取必要的登录参数。 - **获取用户信息**:通过`$_ENV['user']->get_user_by_uid($uid)`根据用户ID...

    ecshop 同步ucenter,一步登陆discuzX

    标题中的"ecshop 同步ucenter,一步登陆discuzX"指的是在电子商务平台ECShop中集成用户中心(Ucenter)的同步登录功能,使得用户在登录ECShop时也能同步登录到论坛系统Discuz! X。这通常是通过Ucenter的API接口实现的,...

    java整合Ucenter统一登陆、退出源码

    Java整合Ucenter实现统一登录和退出的源码是基于UCenter通信协议的一种技术实践,它主要解决了在多个应用系统间用户身份验证的统一问题。UCenter是一个由Discuz!开发的用户中心系统,它可以集中管理多个网站或应用的...

    UCenter+MediaWiki+Discuz X2实现单点登录

    本话题将详细探讨如何通过UCenter、MediaWiki和Discuz X2这三款软件实现单点登录的集成。 首先,UCenter是由Comsenz开发的一款用户中心系统,主要用于管理和同步多个应用的用户数据,如论坛(Discuz!)、博客、问答...

    ShopEX不能同步登陆的解决方案

    目标是让用户在登录ShopEX之后,其登录状态能够自动同步到天天团购和其他关联应用中,实现单点登录的功能。 #### 问题表现 在实际操作中发现,当用户在ShopEX上登录后,尽管可以正常使用ShopEX的所有功能,但登录...

    php同步登陆免激活

    "说明.txt"可能是对实现同步登录过程的详细说明,包括安装、配置和使用方法。而"discuz"和"uchome"目录可能包含了Discuz! 和Ucenter Home的相关文件,如安装脚本、配置文件或特定的插件。 为了实现这样的功能,...

    shopex整合UC DZ 2X同步登陆修复

    "shopex整合UC DZ 2X同步登陆修复"这个主题涉及的是将ShopEx电商平台与DZX2论坛实现单点登录(Single Sign-On,简称SSO)的集成过程中的问题及解决方案。 ShopEx与UC的整合是为了解决用户在两个平台上注册和登录时...

    ecshop的ucenter同步登陆uc.php 一点错误勘误

    X2论坛中实现同步登录和登出功能。 首先,`set_cookie`函数是用于设置或清除浏览器中的Cookie。在原始的ECShop代码中,当需要清除Cookie时,设置的时间戳是当前时间减去3600秒,即一个小时之前,这会导致Cookie被...

    在codeigniter上简单实现ucenter

    这里发布的是在修改过程中碰到的几个文件。 第一次接触codeIgniter,在这里多谢rover和...这个程序主要实现了uc的登陆,注册和退出,以及同步登陆,问题。 更多功能在慢慢开发,以后都会发上来与大家探讨,共同学习。

    完美整合phpcms v9和discuz X3.1实现同步登陆退出论坛免激活

    尽管在测试过程中发现了一些问题,例如phpcms可以实现同步登录,但Discuz!登录到phpcms时无法同步登录,这可能是由于一些配置参数没有调整到位,或者是因为某些系统设置不兼容。但总体上,通过UCenter整合phpcms和...

    asp整合ucenter 注册 登陆 修改 删除 检测短信等功能

    通过上述步骤,开发者能够利用ASP与Ucenter的整合,实现一个高效、安全的用户管理系统,确保用户数据在整个应用生态中的统一和同步。对于ASP开发者来说,理解和掌握这些功能的实现方法是十分必要的。

    discuz-ucenter-api-for-java

    Discuz3.2与Java 项目整合单点登陆,discuz 和 JAVA 对接需要一个中间件,它就是 Ucenter。Comsenz(康盛)的 UCenter 当前在国内的单点登录领域占据绝对份额,其完整的产品线令 UCenter 成为了账号集成方面事实上的...

    Discuz 自动同步登陆的完美解决办法

    标题中的“Discuz 自动同步登陆的完美解决办法”指的是在使用Discuz论坛系统时,如何实现用户在主系统登录后能够自动登录Discuz论坛,无需再次输入用户名和密码。这是一个常见的需求,尤其对于集成多个服务的网站来...

    应用与ucenter之间的通信流程分析

    它能够帮助多个应用或网站之间实现用户数据的同步,并简化用户的登录过程。 #### 三、通信流程详解 ##### 3.1 远程方式 当应用选择通过远程方式进行登录验证时,其流程如下: 1. **初始化请求**:在应用端(例如...

    zf-blog.1.2.rar

    1、 同步登陆和注销; 2、 同步注册和修改资料; 3、 修改密码的删除用户的同步; 4、用户注册;系统中新增了用户注册接口,用户注册成为用户后可以一站任意通行,发表评论和留言简单快捷。 5、完美的用户体验...

    Live!CMP志愿者管理平台(社会公益综合管理平台)

    Live!CMP提供门户管理、志愿者管理、救助管理、物资管理、活动管理、财务管理、义卖管理7大功能...CMP在.Net软件中率先支持与UCenter无缝整合,实现了UCenter会员直接(同步)登陆和退出等,极大的方便了站长的运营和管理

Global site tag (gtag.js) - Google Analytics