亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

單點登錄 Ucenter示例分析

2024-05-04 23:19:11
字體:
來源:轉載
供稿:網友
首先我們先來了解下Ucenter登錄步驟

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接口的時候就會容易很多。

大致步驟 首先我們要先安裝 ucenter 然后把uc_client 這個文件夾復制到自己的項目里面去 然后呢在配置幾個文件

client.php相當于函數庫

uc.php相當于回調文件

還有一個 config.inc.php 是配置文件

當你有2個應用都設置了同步登陸之后 當你登陸一個應用 然后執行

復制代碼 代碼如下:


include './config.inc.php';
include './uc_client/client.php';
$usernames="feiye";
$passwords="789123";
list($uid, $username, $password, $email) = uc_user_login($usernames, $passwords);
if($uid > 0) {
setcookie("username",$username,time()+intval(24*3600));
echo uc_user_synlogin($uid);
echo '登錄成功';
} elseif($uid == -1) {
echo '用戶不存在,或者被刪除';
} elseif($uid == -2) {
echo '密碼錯';
} else {
echo '未定義';
}


uc_user_synlogin() 這個函數 代表著 要同步登陸到其他所有開啟同步登陸的函數 uc自己會在后臺把所有開啟同步登陸的應用都給循環遍歷一遍 然后 在頁面上輸出

復制代碼 代碼如下:


<script type="text/javascript" src="http://127.0.0.70/api/uc.php?time=1374540644&code=14fdIufn%2B2YwkQlN9P07FEHOfZvDJupvgBgaRPn7R0DJmbEwCb23vKwO1uaeybLq3HZhtokoZrnqu7NGi09jzs684drFCbLDiSpKhk6P50MftBRA3vp4yIswhrPMl1dXo5ajB7CVZ9F8EI%2BkdFfq0E0rdyeRkuz8goeHhg" reload="1"></script>


復制代碼 代碼如下:


<script type="text/javascript" src="http://127.0.0.71/api/uc.php?time=1374540644&code=07a91g8SepQwwfA3C1uN1sPhC4v6yuER1jFbVTQMK%2BQZmTkjwOz8X%2B8rWgNmKdhlXe9XXVQqAkDjN26CK6BMA19ZpLoiSW4wuNnxHAB9xXLt2VExuyf03MnEHAC%2BUdjwb58sbXGcYUpM4Bmzdm3Q92ObSp0Kk2qCd12fqg" reload="1"></script>


類似這種的js代碼 就是發送給每個開啟同步登陸的應用 然后 每個開啟同步登陸的應用 的 回調文件 uc.php 接受到后 會進行解密 解密好后 其實 你就可以自己來寫代碼了 這個uc.php回調文件的代碼不一定非要按照他們的格式來寫 你也可以自己寫你自己的代碼 比如說我就是根據session來做同步登陸的

復制代碼 代碼如下:


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"');
setcookie('gwyy',$username,time()+3600,'/','127.0.0.71');
_setcookie('Example_auth', _authcode($uid."/t".$username, 'ENCODE'));

$_SESSION['username'] = $username;
$_SESSION['uid'] = $uid;
}

function synlogout($get, $post) {
if(!API_SYNLOGOUT) {
return API_RETURN_FORBIDDEN;
}
//note 同步登出 API 接口
header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"');
_setcookie('Example_auth', '', -86400 * 365);
unset($_SESSION['username']);
unset($_SESSION['uid']);
session_destroy();
}


這樣 當用戶刷新了別的應用頁面之后 就自動登陸了

注意 如果在UC里面添加應用 提示通信沒有成功 那么原因很簡單 就是沒有找到你 這個文件 只要有這個文件在 那么通信 肯定會成功的

其實UC的原理很簡單 就是某個應用登陸后 然后后臺輪詢發送給同步登陸的應用的回調文件 回調文件接收到用戶ID之后 生成cookie或者session然后進入登陸模式。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品久久久久久久久久久久| 国产精品亚洲欧美导航| 久久精品国产亚洲7777| 欧美中文字幕第一页| 97不卡在线视频| 亚洲乱码一区av黑人高潮| 国产亚洲免费的视频看| 亚洲第一国产精品| 成人黄色中文字幕| 亚洲成av人乱码色午夜| 成人97在线观看视频| 欧美影院久久久| 成人午夜两性视频| 亚洲成人在线视频播放| 久久久久久亚洲| 狠狠爱在线视频一区| 国内精品中文字幕| 欧美极度另类性三渗透| 欧美—级a级欧美特级ar全黄| 国产精品一区av| 国产精品自产拍高潮在线观看| 欧美高清videos高潮hd| 亚洲精品国产精品自产a区红杏吧| 97在线视频国产| 91日韩在线视频| 精品毛片三在线观看| 欧美电影在线观看高清| 久久亚洲精品一区二区| 精品国产一区二区三区久久狼5月| 欧美黑人性视频| 大荫蒂欧美视频另类xxxx| 1769国内精品视频在线播放| 精品美女久久久久久免费| 欧美精品第一页在线播放| 国产小视频国产精品| 国产乱人伦真实精品视频| 久久久999成人| 精品呦交小u女在线| 欧美色欧美亚洲高清在线视频| 日韩女优人人人人射在线视频| 欧美激情奇米色| 国产成人在线一区二区| 欧美性猛交xxxx| 欧美一级视频免费在线观看| 一本色道久久88综合日韩精品| 亚洲欧洲第一视频| 欧美高跟鞋交xxxxxhd| 欧美在线亚洲一区| 亚洲电影免费观看高清完整版在线| 欧美中文字幕第一页| 日韩最新在线视频| 国产精品偷伦免费视频观看的| 91免费视频网站| 久久视频免费观看| 欧美性黄网官网| 日韩大胆人体377p| 国产视频久久久| 亚洲免费视频在线观看| 91高清视频在线免费观看| 国产精品久久久久av| 91精品国产综合久久香蕉922| 日韩欧美国产一区二区| 青青草原一区二区| 欧美高清无遮挡| 国产精品欧美一区二区| 国产欧美韩国高清| 2019亚洲日韩新视频| 国产精品女人久久久久久| 青草青草久热精品视频在线观看| 成人啪啪免费看| 国产精品aaa| 国模私拍一区二区三区| 欧美最猛黑人xxxx黑人猛叫黄| 色哟哟网站入口亚洲精品| 91高清视频免费观看| 欧美激情亚洲精品| 在线免费观看羞羞视频一区二区| 午夜美女久久久久爽久久| 日韩欧美在线观看视频| 日韩欧美综合在线视频| 成人做爰www免费看视频网站| www.99久久热国产日韩欧美.com| 清纯唯美亚洲激情| 日本伊人精品一区二区三区介绍| 欧美在线视频a| 色午夜这里只有精品| 欧美成人免费全部| 国产成人一区二区在线| 久久精品国产久精国产思思| 欧美刺激性大交免费视频| 欧美精品videos性欧美| 日韩免费在线电影| 亚洲国内精品视频| 国产欧美最新羞羞视频在线观看| 亚洲成人激情视频| 久久久久久97| 日韩在线观看免费av| 亚洲国产成人爱av在线播放| 亚洲色图国产精品| 亚洲a区在线视频| 中文字幕精品av| 亚洲精品久久久久久久久久久| 欧美日韩高清在线观看| 精品欧美国产一区二区三区| 国产精品美女无圣光视频| 狠狠做深爱婷婷久久综合一区| 欧美日韩视频免费播放| 欧美做爰性生交视频| 国产成人精品一区二区| 国产精品一区二区久久| 国产精品久久久久久久美男| 亚洲欧洲av一区二区| 亚洲精品美女在线| 91精品国产91久久久久久最新| 国产成人精品久久久| 精品中文字幕视频| 91免费视频国产| 国产成人啪精品视频免费网| 亚洲一区二区三区在线免费观看| 精品国产一区二区三区久久狼黑人| 久久精品色欧美aⅴ一区二区| 国产精品777| 一区二区中文字幕| 午夜精品在线视频| 欧美精品18videosex性欧美| 久久这里有精品视频| 国产成人精品优优av| 久久综合亚洲社区| 欧美大成色www永久网站婷| 午夜精品一区二区三区在线视| 国产亚洲精品一区二555| 亚洲欧美日韩久久久久久| 久久九九精品99国产精品| www.日本久久久久com.| 欧美色播在线播放| 最新国产成人av网站网址麻豆| 国产精品美女久久| 美女视频久久黄| 国语自产偷拍精品视频偷| 国产精品r级在线| 欧美影院成年免费版| 性欧美在线看片a免费观看| 国产视频999| 97超碰蝌蚪网人人做人人爽| 亚洲免费福利视频| 日韩欧美中文字幕在线播放| 亚洲xxxx在线| 青青久久av北条麻妃海外网| 色yeye香蕉凹凸一区二区av| 在线视频欧美性高潮| 国产精品日韩电影| 在线日韩日本国产亚洲| 亚洲第一精品夜夜躁人人爽| 国内精品久久久久影院 日本资源| 亚洲欧美综合另类中字| 亚洲午夜国产成人av电影男同| 国产精品第七影院| 国产在线精品成人一区二区三区| 中文在线不卡视频| 日韩午夜在线视频| 欧美亚洲一区在线| 日韩经典一区二区三区| 国产精品极品美女在线观看免费| 91国内在线视频|