UCenter整合 详细教程 康盛的Ucenter产品非常的强大。即便不使用也有很好的学习价值。 在这里我们只说,如何将自己的网站和其他康盛的站点互通,当然是使用ucenter 为了,让两个应用之间可以互通(比如,自己的站点和uchome),我们需要先做一件事情, 将ucenter安装包中的 UCenter_1.6.0_SC_UTF8\advanced\examples下的api文件夹,config.inc.php文件和uc_client文件夹(这个在上一级目录),放到自己站点的一个目录下。 一般我们可以将他们都统一放在一个目录中,这里我们取名为ucclient,目录结构形如 接下来我们所说这个三个文件分别代表什么。 1、Api文件夹中uc.php,你可以认为他是一个对外开放的接口文件,是REST形式的。该文件会根据被访问时,所带的参数执行相应的指令。 典型的样子如下: http://localhost/uctest/examples/api/uc.php?time=1325579904&code=b785JopNAE5CnbKhng8Ci%2BRHv%2BuPSty5ycbzXYUyTFHxhHWHOCNsXK2gFYJakUrXMalBjcg2m3KyY5142iT8drZCzMwvzyOq4aciGgnArt4icSj6Kg63WrsbflE3vE%2BHLpvIY3jsE5OPbmTe8C9EaDDY6%2Fwy2iyGtYDM 最关键的地方就是这个code参数,他是一个被加密了字符串,是基于base64和UC_KEY进行加密的。这个UC_KEY就是uc的通信密钥。这个字符串包含了,我们要进行的操作(比如,synlogin),包含了我们需要的参数(比如username,password等)。所以,密钥很关键,切不可设置的简简单单。 简而言之,这个uc.php是用来被ucenter调用的,由此我们也可以知道,其中有不少方法,是需要我们根据我们自己站点的情况重写的。Uc.php只是统一一个接口,让ucenter知道如何和我们的站点通讯。 2、uc_client文件夹,是一个很重要的类库,当然其实他不只是类库,但是他最重要的作用就是给我们提供相应的同步方法,这些同步方法,都是用来通知ucenter server的(也可以认为就是调用ucenter的方法)。 3、config.inc.php这个配置文件,配置了我们需要的参数的,比如ucenter server的url等等,都是写很重要的参数,在uc.php和uc_client中都会用到。 4、include没有什么用,这里只是为了让他不报错,加入的。你可以改造uc.php后,将include目录去除。   以上就是我们整合ucenter时需要了解的地方。 接下来,我们说说ucenter applications之间的通知机制,就是我在uchome登录,是如何通知到我的网站的,反之又是怎么样的。 我们可以跟踪一个最简单的synlogin方法,就可以发现,最终该方法返回的是一段html代码,并且是一个或多个script标签的代码(个数和你的application个数有关)。这个和同步又有什么关系呢? 其实他这里处理起来很简单,就是利用html中的script标签的src属性,因为当在页面中加入script的时候,起会作为一个get自动访问指定的url,通过这种方式,就在用户不知不觉得情况下,调用了需要调用的方法(REST),同时因为ucenter使用了pop3协议,让其跨域设置cookie成为了可能。由此完成了同步目的,因为你同时设置了其他应用会用到的cookie。 这就是为什么,每次登录uchome之类的,总会有个中间页面,提示你三秒后会自动跳转之类。因为页面级的get访问,可以要花时间的,如果我们用很快的速度点击调转的话,他没有足够的事件来完成script标签中的响应的话,我们的同步可就不起作用了。   【提高部分】 有个中间页面,总是觉得不太舒服。有没有办法不要这个中间页面就直接点登录,在后台完成相应的同步操作呢?答案是肯定的。 解决方案其实也很简单,就是使用curl或get_files_content来获取需要设置的cookie 大致的思路就是,在登录执行的部分,我们额外地通过curl访问,前面所说的script中的src所对应的url,将其需要设置的cookie取出来,整合到我们即将返回的Respones中。这样,我们就可以实现目的了。其实这里,我们就是利用curl做了个桥的作用,然后整合下。 那么为什么ucenter不直接采用这个方式,还采用中间页面的方式呢? 这个和ucenter支持的php版本有关,康盛支持php4.0,同时又要保证,不使用额外安装的exitension。这里我们用到的curl是一个extension,get_files_content又是5.0才引入的。一切都明白了吧。都是为了兼容性。   最后,总结下,需要整合ucenter的话,我们一般要改三处地方, 1、  config.inc.php,提供基本参数,一定要准确无误。 2、  uc.php,供别的application调用的同步代码,需要将自己的相应登录或登出等逻辑写进去。 3、  站点自身的登录或登出功能,在其中我们需要调用其他application的同步代码,有两种方式,中间页和curl   根据这些原理分析,由于个application间的通信都是通过http和pop3协议的,所以,可以很好的跨平台,对于asp.net等其他的语言,只需要仿造php版本的逻辑写个就行,只是要保证类似uc.aspx中的方法签名一定要保证一样,否则的话产生出来的operation什么可就对不上了。另外,在ucenter server出设置时,也不要设置成uc.php了。要设置成uc.aspx了。 在最后,说说大致的开发思路。 首先有个前提,这些文件都是在你站点的服务器上,并没有在uc那边。 在uc.php中,你最可能会需要改动的函数逻辑是synlogin和synlogout,你需要在这个文件写,加入你自己站点的登录,登出逻辑。 在自己的站点的登录登出逻辑这里,记得要调用client.php中的方法,利用其返回的同步代码,最后是模拟登录呢还是中转页,你自己决定了,但是得要在你的逻辑中实现这个过程。改动了这这两个就完成了双向的登录,登出。但是,要注意,你的登录机制,否则cookie可能设置不上。 本次内容转载自互联网,稍后进行验证 终于验证出效果来了~ 以上内容配置正确后,应用就可以与UC进行通信并成功了,接下来就是要实现的登录及退出的功能了,这里可以直接使用官方包中的 ucexample_2.php为例进行相应的修改。最终完成用户同步登录等效果

如何使自己的网站与UC进行用户整合相关推荐

  1. 网站推广——企业网站如何在网站推广中获取用户信任感?

    对于一家足够成熟的网站建设公司来说,在企业网站优化过程中网站是否能获得用户的信任度对于日后的长期发展是有很大的决定性的作用.毕竟用户的信任可以为企业带来更多地交易合作的机会,但当下的互联网环境中人与人 ...

  2. 网站建设需遵循用户访问习惯

    在当下的互联网技术不断革新的发展趋势下,越来越多的企业都在找寻新的创业商机,他们都看到了网站建设对销售市场宣传推广的关键作用.在网站建设中我们应该遵循用户的网站访问习惯,这有利于网站日后的运营与优化, ...

  3. 一个成熟的网站模板如何引起用户的注意?

    想必大家都知道,现如今的互联网网站建设使用模板是中小企业低成本的首选,不仅省时省力更省钱,让中小企业在原本不充裕的成本费用上节省一大半.然而现阶段的互联网市场中竞争压力非常大,只有一个网站不行,你要有 ...

  4. 制作网站设计项目进度表让用户充分了解网站制作进程

    当用户委托我们进行网站设计制作的时候,经常询问网站建设到什么阶段了,是否能尽早投入使用?很多人都有过类似的体验,坦白说,这通常都是因为用户并不知道网站开发需要做什么,人们通常习惯于在一两周内看到成品, ...

  5. Redis简单案例(二) 网站最近的访问用户

    原文:Redis简单案例(二) 网站最近的访问用户 我们有时会在网站中看到最后的访问用户.最近的活跃用户等等诸如此类的一些信息.本文就以最后的访问用户为例, 用Redis来实现这个小功能.在这之前,我 ...

  6. 网站怎样留住浏览用户

    从事网站制作已经有两年的时间,接触SEO也有快一年时间了,在刚接触SEO这门学问时,就听SEO前辈们说,SEO重要因素就是用户体验,但一直没有真正去理解过里面的意思,只是针对关键词去进行优化.     ...

  7. 分享Web应用运行的细节问题:预编译提高网站性能、跟踪用户习惯和解决线程同步...

    在这个文章里,我将分享一下在iOpenWorks.com这个网站试运行中碰到的若干问题和解决方案,这些问题包含了:(1)如何通过ASP.NET MVC预编译提高性能:(2)如何知道网站在运行中,用户响 ...

  8. 网站前台-登陆与用户中心

    第6章 网站前台-登陆与用户中心 学习目标: 完成用户注册功能 完成用户登陆功能,掌握js-cookie的使用 完成微信扫码登陆的功能 完成用户中心嵌套布局,掌握nuxt嵌套路由的使用 1 用户注册 ...

  9. 网站安全检测之用户密码找回网站漏洞的安全分析与利用

    我们SINE安全在对网站,以及APP端进行网站安全检测的时候发现很多公司网站以及业务平台,APP存在着一些逻辑上的网站漏洞,有些简简单单的短信验证码可能就会给整个网站带来很大的经济损失,很简单的网站功 ...

最新文章

  1. FWFT FIFO读操作注意
  2. keras faster物体检测_【开源项目】特斯拉+树莓派实现车牌识别检测系统
  3. 寓言故事中隐藏的10个成功秘诀
  4. SAP OData 服务在 gateway 层出错,应该如何处理?通过一个错误消息 Query XXX is invalid or contains errors 来举例说明
  5. 前端学习(527):等分布局第二种方案
  6. 详述白盒测试的逻辑覆盖的路径覆盖及其优缺点
  7. 逛画展(单调队列) acm寒假集训日记22/1/1
  8. mysql删除emp表的语句_MySQL删除数据表(DORP TABLE语句)
  9. 开发环境、测试环境、生产环境
  10. 计算机的it入门知识,IT基础知识入门课程.ppt
  11. dataset基本用法
  12. C++ - Sodoku Killer(DFS) - 实现一个数独解算器
  13. OIer有趣代码+资料整理 1.0.0.8.7
  14. 敏捷开发 建立愿景、使命_使用愿景板创建敏捷产品策略的10条技巧
  15. Horner规则求多项式
  16. JAVA 身份证校验与统一社会信用代码校验
  17. 无情未必真豪杰,怜子如何不丈夫——愿天下有情人终成眷属
  18. 两年内5000万台电脑都要换成国产电脑
  19. Linux系统内部流量转发机制,使用TC实现基于Linux系统的流量管理
  20. SDA、SFDA、CFDA改名为NMPA

热门文章

  1. 百合数c语言360问答,百合花的朵数代表的意义???
  2. android singleinstance home,Android启动模式之singleinstance的坑
  3. linux命令界面下载kettle,kettle在linux环境中打开图形界面-Go语言中文社区
  4. android app无感知自动升级,Android中实现用户无感知处理后台崩溃
  5. spring入门-----spring中遍历各种集合
  6. eclipse如何给main函数传参数
  7. MySQL基础课堂笔记
  8. 校园管理系统需求分析文档
  9. 如何成为数据型产品经理
  10. Struts 1高级应用