目錄
您可能感兴趣的文章
首頁 後端開發 php教程 ucenter同步登陆机制_PHP教程

ucenter同步登陆机制_PHP教程

Jul 13, 2016 am 10:31 AM
同步 登陸

做php开发的朋友大都知道有个ucenter可以用来实现多个站点同时登陆同时退出,用户同步的功能。下面作者将要就ucenter是如何实现同步登陆的和大家做一下分享。

首先站点都要引入一个uc_client这样一个客户端,以登陆为例,登陆时首先会调用一个外部函数,uc_client/client.php下的uc_user_login检查是否存在此用户,如果正确则继续执行登陆代码,检测此用户过程:通过用户是以什么方式连的uc(mysql还是http post)然后去相应地用不同函数来检测用户,检测完成后实现本地登陆,代码自己写,然后让其他应用程序也登陆,此时调用外部函数uc_user_synlogin,过程如下:

Uc_user_synlogin调用uc_api_post来实现是要做哪个模块,比如现在就是user模块,传的参数是user_id,具体这是怎么实现的没再仔细看,总之是将数据发送到uc_api即你的ucenter地址的index.php,同时附一些参数,根据这些参数然后再去读里面所有可通信的应用程序,让他们也实现登陆,这是其他程序的事儿了。

通知其他应用程序主要是通过ucenter,去向各应用程序下的api/uc.php发送一些数据,这些数据由uc.php接到请求然后去执行相应的登陆操作等。

这是我写的,基本上和他的一样,本想把具体到每个函数都写的可今天有点累了,呵呵,自己找吧还是很简单的。

1.从用户xxx在某一应用程序的login.php,输入用户名,密码讲起。先用uc_user_login函数到uc server验证此用户和密码,如正确,则写入session,写入cookies,并更新应用程序会员表中的登录ip,登录时间。用户感觉不到这个过程。

2.然后通过uc_user_synlogin通知uc server 用户xxx登录成功,这个过程可能使用ajax,用户感觉不到通知过程。

3.uc server收到这个消息后,马上命令手下,把xxx登录的消息,像令牌环一样,发给所有愿意接收(后台中那个是否开启同步登录)这个消息的其它应用程序。其实就是带参数访问一下各应用程序的uc.php,用户感觉不到这个过程。

4.各应用程序靠api下的uc.php来接收uc server发来的消息,并对uc server言听计从,让干什么就干什么。现在,收到让xxx用户在你的程序中登录的命令,马上执行。并写本应用程序的session,并且使用p3p, 写入相同域或不同域的cookies.  用户感觉不到这个过程。

5.最后所有和uc整合的程序,xxx均登录成功。用户从www.phpernote.com/bbs登录后, 跳到www.phpernote.com/同样显示登录。因为bbs 和news系统在后台均已登录。

6.应用程序与uc server的会话结束。

您可能感兴趣的文章

  • 如何去除dedeCMS后台登陆页面的广告
  • php Output Control 深入理解 ob_flush 和 flush 的区别
  • 网站上多种url都能访问同样的内容是件危险的事
  • http请求中同步请求和异步请求的区别
  • js setInterval和setTimeout用法分析
  • CuteFTP连接ftp服务器时弹出“遇到无效的参数”错误的解决办法
  • PHP中跳出多重循环使用break,continue,goto,return,exit的用法和区别
  • mysql中tinyint、smallint、int和bigint类型的用法区别

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/764139.htmlTechArticle做php开发的朋友大都知道有个ucenter可以用来实现多个站点同时登陆同时退出,用户同步的功能。下面作者将要就ucenter是如何实现同步登陆...
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

PlayStation網路登入失敗,但網路連線成功 PlayStation網路登入失敗,但網路連線成功 Feb 19, 2024 pm 11:33 PM

PlayStation網路登入失敗,但網路連線成功

解決win11同時播放耳機與音響的問題 解決win11同時播放耳機與音響的問題 Jan 06, 2024 am 08:50 AM

解決win11同時播放耳機與音響的問題

修正AADSTS7000112,應用程式已停用Microsoft帳號登入錯誤 修正AADSTS7000112,應用程式已停用Microsoft帳號登入錯誤 Feb 19, 2024 pm 06:27 PM

修正AADSTS7000112,應用程式已停用Microsoft帳號登入錯誤

您同步的資料夾中的一個或多個項目不符合Outlook錯誤 您同步的資料夾中的一個或多個項目不符合Outlook錯誤 Mar 18, 2024 am 09:46 AM

您同步的資料夾中的一個或多個項目不符合Outlook錯誤

MySql的資料遷移與同步:如何實作多台伺服器之間的MySQL資料遷移與同步 MySql的資料遷移與同步:如何實作多台伺服器之間的MySQL資料遷移與同步 Jun 15, 2023 pm 07:48 PM

MySql的資料遷移與同步:如何實作多台伺服器之間的MySQL資料遷移與同步

GeForce Experience登入當機[修復] GeForce Experience登入當機[修復] Mar 19, 2024 pm 06:30 PM

GeForce Experience登入當機[修復]

Wegame登陸操作太頻繁怎麼解決? Wegame登陸操作太頻繁怎麼解決? Mar 14, 2024 pm 07:40 PM

Wegame登陸操作太頻繁怎麼解決?

win7系統登陸時的預設圖片背景如何更改 win7系統登陸時的預設圖片背景如何更改 Jun 30, 2023 pm 04:03 PM

win7系統登陸時的預設圖片背景如何更改

See all articles