ホームページ php教程 php手册 ucenter同步过程,详细解剖(同步登陆)

ucenter同步过程,详细解剖(同步登陆)

Jun 06, 2016 pm 08:09 PM
u 同期する ログイン 詳しい プロセス

今天讲的是?ucenter 同步多站点登陆功能. 同步登陆关键在?uc.php 中, 这个是连通 其他连接站点的关键逻辑层. 当我们执行登陆的时候, 用的是uc 中的?uc_user_login 判断, 接下来是这个?uc_user_synlogin 同步登入, 看文档说明 他会 输出一段 javascript的脚本

今天讲的是?ucenter 同步多站点登陆功能.

同步登陆关键在?uc.php 中, 这个是连通 其他连接站点的关键逻辑层.

当我们执行登陆的时候, 用的是uc 中的?uc_user_login 判断,

QQ图片20130517131736接下来是这个?uc_user_synlogin 同步登入, 看文档说明

QQ图片20130517131924他会 输出一段 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 做解释吧,

QQ图片20130517132454看到?$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 来判断 程序已经登陆.

到这里已经结束了. 如果不懂的.可以留言 与 我进行讨论. 谢谢大家的支持

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PlayStation Network へのログインは失敗しますが、インターネット接続は成功します PlayStation Network へのログインは失敗しますが、インターネット接続は成功します Feb 19, 2024 pm 11:33 PM

PlayStation Network へのログインは失敗しますが、インターネット接続は成功します

win11でヘッドフォンとスピーカーを同時に再生する問題を解決する win11でヘッドフォンとスピーカーを同時に再生する問題を解決する Jan 06, 2024 am 08:50 AM

win11でヘッドフォンとスピーカーを同時に再生する問題を解決する

AADSTS7000112、アプリケーションが無効になっている Microsoft アカウントのログイン エラーを修正 AADSTS7000112、アプリケーションが無効になっている Microsoft アカウントのログイン エラーを修正 Feb 19, 2024 pm 06:27 PM

AADSTS7000112、アプリケーションが無効になっている Microsoft アカウントのログイン エラーを修正

同期したフォルダー内の 1 つ以上のアイテムが Outlook エラーと一致しません 同期したフォルダー内の 1 つ以上のアイテムが Outlook エラーと一致しません Mar 18, 2024 am 09:46 AM

同期したフォルダー内の 1 つ以上のアイテムが 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