今天讲的是?ucenter 同步多站点登陆功能. 同步登陆关键在?uc.php 中, 这个是连通 其他连接站点的关键逻辑层. 当我们执行登陆的时候, 用的是uc 中的?uc_user_login 判断, 接下来是这个?uc_user_synlogin 同步登入, 看文档说明 他会 输出一段 javascript的脚本
今天讲的是?ucenter 同步多站点登陆功能.
同步登陆关键在?uc.php 中, 这个是连通 其他连接站点的关键逻辑层.
当我们执行登陆的时候, 用的是uc 中的?uc_user_login 判断,
接下来是这个?uc_user_synlogin 同步登入, 看文档说明
他会 输出一段 javascript的脚本, 其实是 一段URL请求, 目的是通知其他程序, 他登陆了. 在这里其实是 进入了 程序的 uc,php 中处理了.
javascript脚本中内容:?http://192.168.1.20/Discuz/api/uc.php?time=1368767786&code=18e7Mtc5TmbLWuafNA4k%2F1uSOXjqWs3%2BnszeoEDM8Y6vWC3B9epCf1rPRe0jmL4olcCE%2FjCmpmMQ8WyfbMrQdVZhxDcM%2Bvp5V0DMr%2BPljeB3nPgDZNt417uCq2gLQ3aaY94ecqdz6otkPtgwk2NMOoqr2A2MgFeQlFcnOg1D
所以我们在 uc.php写同步登陆过程: 取 ucenter文件夹中的?examples 做解释吧,
看到?$action == ‘synlogin’ 时候进入这里, ?通过 $get 来获取他 传递过来的 uid, username, password 等数据, 然后修改成. 你的程序 登陆条件. 比如设置cookie, 能判断他已经登陆的条件 就行了.
例子:
/** * 同步登陆 */ function synlogin($get, $post) { $uid = $get['uid']; $username = $get['username']; if(!API_SYNLOGIN) { return API_RETURN_FORBIDDEN; } header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"'); $ENCODE = _authcode($uid."\t".$username, 'ENCODE'); _setcookie('Ucenter_auth', $ENCODE); //setCookie('Ucenter_auth', $ENCODE); //$_COOKIE['Ucenter_auth'] = $ENCODE; return API_RETURN_SUCCEED; }
我这边是这样写的. 通过 cookie: ?Ucenter_auth 来判断 程序已经登陆.
到这里已经结束了. 如果不懂的.可以留言 与 我进行讨论. 谢谢大家的支持
原文地址:ucenter同步过程,详细解剖(同步登陆), 感谢原作者分享。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

뜨거운 주제



