ucenter同步登陆机制
做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类型的用法区别

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









一部のプレイヤーは、発売時に PS4 または PS5 で奇妙な問題に遭遇しています。たとえば、PlayStation Network へのログインが失敗しても、インターネット接続は正常である場合に、これが原因で問題が発生する可能性があります。ログイン情報を入力するときにエラーが発生し、PSParty チャットに参加できない場合があります。同様の問題が発生した場合は、このガイドが問題の解決に役立つ可能性があります。 PlayStationNetworkSign-in の横に、「AnErrorHaveAreAre」というエラー メッセージが表示され、「失敗」と表示されます。 IP アドレス、インターネット接続、接続速度の取得などの他のパラメーターは正常に完了しました。では、ここで何が問題になるのでしょうか?あなたに仕事をあげます

AADSTS7000112 エラーにより、Microsoft アカウントを使用してアプリにログインできなくなり、ご不便をおかけする場合があります。この記事では、この問題を解決し、通常のログイン エクスペリエンスを復元するのに役立つ解決策を紹介します。ログイン: 申し訳ありませんが、ログインできません。 AADSTS7000112: アプリケーションが無効になりました。幸いなことに、いくつかの簡単な提案に従うことでエラーを修正できます。エラーコード AADSTS7000112 とは何ですか?エラー コード AADSTS7000112 は、Microsoft の Azure Active Directory への接続に問題があることを示します。通常、これは、ログインしようとしている Microsoft アプリケーションがブロックされていることが原因である可能性があります。

一般的に、同時に使用する必要があるのはヘッドフォンまたはスピーカーのいずれか 1 つだけですが、Win11 システムでヘッドフォンとスピーカーが同時に鳴るという問題が発生したと友人が報告しています。 Realtek パネルでオフにすれば問題ありません。以下を見てみましょう。 win11 でヘッドフォンとスピーカーが一緒に聞こえる場合はどうすればよいですか? 1. まず、デスクトップで「コントロール パネル」を見つけて開きます。 2. コントロール パネルに入り、「ハードウェアとサウンド」を見つけて開きます。 3. 次に、「」を見つけます。 Realtek High Definition" とスピーカーのアイコン。オーディオマネージャー" 4. [スピーカー] を選択し、[リアパネル] をクリックしてスピーカー設定に入ります。 5. 開くとデバイスの種類が表示されるので、ヘッドフォンをオフにしたい場合は、「ヘッドフォン」のチェックを外します。

同期フォルダー内の 1 つ以上のアイテムが Outlook のエラー メッセージと一致しない場合は、会議アイテムを更新またはキャンセルしたことが原因である可能性があります。この場合、ローカル バージョンのデータがリモート コピーと競合していることを示すエラー メッセージが表示されます。この状況は通常、Outlook デスクトップ アプリケーションで発生します。同期したフォルダー内の 1 つ以上のアイテムが一致しません。競合を解決するには、プロジェクトを開いて操作を再試行します。同期フォルダー内の 1 つ以上のアイテムが Outlook エラーと一致しない問題を修正する Outlook デスクトップ バージョンでは、ローカルの予定表アイテムがサーバー コピーと競合すると問題が発生する可能性があります。ただし幸いなことに、それを助ける簡単な方法がいくつかあります

Enterprise WeChat の電子メール アドレスにログインするにはどうすればよいですか? Enterprise WeChat APP で電子メール アドレスにログインできますが、ほとんどのユーザーは電子メール アドレスにログインする方法がわかりません。次は、その方法に関するグラフィック チュートリアルです。興味のある方は編集者が用意したEnterprise WeChatのメールアドレスにログインして、ぜひ覗いてみてください! Enterprise WeChat 使用チュートリアル Enterprise WeChat メールへのログイン方法 1. まず Enterprise WeChat APP を開き、メイン ページの下部にある [ワークベンチ] に移動し、クリックして特別なエリアに移動します; 2. 次に、ワークベンチでエリアで、[Enterprise Mailbox] サービスを選択します; 3. 次に、企業メール機能ページに移動し、下部の [バインド] または [メールの変更] をクリックします; 4. 最後に、ページで [QQ アカウント] と [パスワード] を入力します以下に示すように、メールにログインします。

MySQL は、さまざまな Web アプリケーション、エンタープライズ システムなどで広く使用されている、非常に人気のあるオープン ソースのリレーショナル データベース管理システムです。最新のビジネス アプリケーション シナリオでは、より高い可用性とパフォーマンスを提供するために、ほとんどの MySQL データベースを複数のサーバーにデプロイする必要があり、それには MySQL データの移行と同期が必要です。この記事では、MySQL のデータ移行と複数サーバー間の同期を実装する方法を紹介します。 1. MySQL データ移行 MySQL データ移行とは、MySQL サーバーでのデータ移行を指します。
![GeForce Experience のログインがフリーズする [修正]](https://img.php.cn/upload/article/000/887/227/171084420790568.png?x-oss-process=image/resize,m_fill,h_207,w_330)
この記事では、Windows 11/10 での GeForceExperience ログイン クラッシュの問題を解決する方法を説明します。通常、これは、不安定なネットワーク接続、破損した DNS キャッシュ、古いまたは破損したグラフィックス カード ドライバなどが原因で発生する可能性があります。 GeForceExperience のログイン ブラック スクリーンを修正する 開始する前に、必ずインターネット接続とコンピューターを再起動してください。場合によっては、問題の原因が一時的なものである可能性があります。 NVIDIA GeForce Experience のログインの黒い画面の問題がまだ発生している場合は、次の提案を検討してください。 インターネット接続を確認する 別のインターネット接続に切り替える

Wegame は Tencent ゲームで使用されるソフトウェアです。これを使用してゲームを起動し、高速化することができます。最近、多くのユーザーが、このプロンプトに直面して、ログイン操作が多すぎるというプロンプトを経験しています。このプロンプトに直面して、多くのユーザーは、どうすればよいのかわかりません。うまく解決できましたか? このソフトウェア チュートリアルでは、解決策を共有します。一緒に学びましょう。 Wegame のログイン操作が頻繁すぎる場合はどうすればよいですか?方法 1: 1. まず、ネットワーク接続が正常であることを確認します。 (ブラウザを開いて、インターネットにアクセスできるかどうかを確認してください) 2. ネットワーク障害の場合は、ルーターの再起動、ネットワーク ケーブルの再接続、およびコンピュータの再起動を試して、問題を解決します。方法 2: 1. ネットワークに問題がない場合は、「&」を選択します。
