ホームページ  >  記事  >  バックエンド開発  >  Baidu、Nuomi、hao123 などの複数の Web サイトのユーザー情報を同期する方法、このような異なるドメイン名はどのように行うのですか、来て 1 ポイントを保証します

Baidu、Nuomi、hao123 などの複数の Web サイトのユーザー情報を同期する方法、このような異なるドメイン名はどのように行うのですか、来て 1 ポイントを保証します

WBOY
WBOYオリジナル
2016-06-23 13:29:351212ブラウズ

今やりたいのは、データベースのリンク情報を変更して 1 つのデータベースを呼び出すことができる一般的なプログラムを作成することです。これはバックアップです
A (メイン サイト) と B (Nuomi などのブランチ サイト) を使用して
A を表します。サイト ID ユーザー名 パスワード 電子メール bduid
サイト B ID ユーザー名 パスワード 電子メール bduid
bduid は Web サイトの一意のユーザー ID を表します。
サイト B にそのようなユーザーがいない場合は、サイト A に移動して見つけます。
に bduid がある場合Bですが空です、Aに情報を入れてください
BとAが両方ある場合、Bのbduidが空なので対処方法がわかりません メールアドレスが同じであれば大丈夫です。それは異なります。短い ID は別の人が使用する必要があります。AB 両方の Web サイトにこのアカウントがある可能性があります。
どのように対処しますか?


ディスカッション (解決策) に返信します。データベース(Aなど)と他のアプリケーション(Bなど)があり、両方ともAからユーザー情報を取得し、ログイン/登録はAで実行され、Bでユーザーテーブルが作成され、Bアプリケーションでのみ使用される情報が格納されます

discuz の Ucenter と同様に、ユーザー テーブルがあり、データベース (A など) とその他のアプリケーション (B など) はすべて A からユーザー情報を取得します。ログイン/登録は A で行われます。B でユーザー テーブルが作成され、 B アプリケーションでのみ使用される情報を保存します

私 B テーブルにいくつかのユーザー情報がありますが、A テーブルにもインポートする必要がありますか? B テーブルの uid は B ステーションの他のテーブルでも使用されます


公開ユーザー情報はデータベース A に保存され、すべてのアプリケーションの uid は A から取得されます

公開ユーザー情報はデータベース A に保存され、すべてのアプリケーションの uid は A から取得されます

さて、以前にステーション B にデータがあった場合、それをどう処理しますか?

テーブル内の他のテーブルはユーザー テーブルの uid データを使用します

他のものはほぼ同じです。パスワードを更新するには、URL を設定して PHP バックグラウンドでアクセスするか、サーバーの PHP ファイルでパスワードを直接変更できます
ちなみに、以前のパスワード暗号化方法は異なりました、


100 ポイントしかありませんでした。 、これ以上ポイントを追加することはできません

主にステーション B に基づいている場合は、ステーション B のユーザー データ テーブルを Ucenter、ステーション C の他のユーザーなどとして扱います。情報はすべてステーション B から取得され、同じです

sso(シングルサインオン)システムを作りたいようです 1. 元のシステムA、B、C、D...がすでに存在しており、正常に動作しているため。したがって、sso は独立したシステムである必要があります

2. シングル サインオンを使用するかどうかの権限はユーザーにあります

3. 元のシステムのユーザー名とパスワードが既に存在しているため、シングル サインオンを選択する場合、ユーザーは各システムのユーザー名とパスワードをリストするには、ユーザーがユーザーを一意に識別できる情報を提供するように求められます。この固有の情報に基づいてテーブルが構築され、各 Web サイトのアカウントがこのテーブルに分類されて格納されます。


ユーザー情報が更新された場合、同期を達成できるように各 Web サイトとデータベースにメッセージを送信できるインターフェースが必要です。



現在 B 局に注目している場合は、B 局のユーザデータテーブルを Ucenter として扱います。C など他の局についても、B 局からユーザ情報を取得します。同じです。見てみましょう。これはどちらかがデータを持っている場合にのみ解決できます。両方がデータを持っている場合は機能しません。 もう一度見てみましょう

sso (シングルサイン-) を作成したいようです。 on) システム
1. 元のシステム A、B、C、D... により、すでに存在しており、正常に実行されています。したがって、sso は独立したシステムである必要があります
2. シングル サインオンを使用するかどうかの権限はユーザーにあります
3. 元のシステムのユーザー名とパスワードが既に存在しているため、シングル サインオンを選択する場合、ユーザーは各システムのユーザー名とパスワードをリストするには ユーザー名
すべてのシステムで使用できる新しいユーザーを登録することもできます


これが機能するか見てみましょう
ユーザーを識別するために xxxxuid などの統一 ID を設定します。A、B などは同じユーザーです。
ユーザーの区別はメールか携帯電話だけです
ステーション B に登録するには、まず送信してくださいユーザー名とパスワード、携帯電話、電子メールなど、ステーションAを一意に識別し、B、xxxuid、その他の情報を登録、保存します
パスワードを変更し、同時にAのユーザーデータを更新します
この方法では、将来新しいものを追加する際に問題が発生するため、
前に古いデータを処理してください。
パスワードを取得できないため (md5 は暗号化されていますが、AB パスワードは別の方法で暗号化されていますが、同じであり、一般的に AUTH_KEY は異なります)、
パスワードなしでステーション B からのすべての情報を処理を通じてステーション A に挿入し、xxxuid 識別子でステーション B に返します。同じユーザーがデータベースに書き込みます。
サイト A にログインすると (パスワードは空、最初のインポートにはパスワードがありません)、サイト B に移動して、対応するパスワードを見つけます。 もちろん、php ファイルには、from_web_site content xxx.com というフィールドが設定されています。
$auth_web_site=array(  'xxx.com'=>array(           'url'=> 'B站url,判断密码是否正确,返回信息?auth_key={auth_key}&xxxuid=根据这个查询B站信息',            'auth_key' =>'防止别站验证'      )//  如果新增一个网站,这样就不怕了,配置下,用户数据导入下就可以用,)// 根据返回信息 更新A站密码,这样以后就不用去B站了,

これを見てください。抜け穴はありますか。 ? 2 日間考えました、
この sso、Baidu、Nuomi を使用する必要がありますね? これについては、どれが優れているか、どれが簡単かを見てみましょう

いいえ、投稿者は知っています
各 Web サイトで同じ個人に属する情報を同期するには、電子メール アドレス、携帯電話番号、QQ 番号などの一意の識別子が必要です。ない場合は、ユーザーに一意の識別子を提供してもらいます。 。この固有の情報に基づいてテーブルが構築され、各 Web サイトのアカウントがこのテーブルに分類されて保存されます。

ユーザー情報が更新された場合、同期を達成できるように各 Web サイトとデータベースにメッセージを送信できるインターフェースが必要です。


固有の識別子にはメールアドレスと携帯電話番号がありますが、ユーザー名は重複する可能性がありますが、同じメールアドレスまたは携帯電話番号ではありません
または、同じメールアドレス、携帯電話番号、ユーザー名が異なる場合、どう対処しますかこれは?

ucenter インターフェースを使用します はい、私は最近これを行っています

ucenter インターフェースを使用することもできます

ありがとう、これを見てみましょう

この種のマルチサイト、つまりマルチプラットフォームのユーザー同期の問題です。以前にそれを実行しました...
たとえば、A.B.C.D の 4 つのサイトがあり、それぞれ独立して実行されます。
次に、ABCD、登録、ログイン ユーザー アバター ポイントを統合する必要があります。多くの情報...

以前は 1 つのサイトをメイン サイトとして使用していました... これがメイン ユーザー データベースであり、他の BCD 登録とログインではメイン サイトのクエリと登録に jsonp を使用する必要があります。サイト B は情報を変更するためにログインします。
jsonp を使用して、このユーザーがログインしました。
上記の方法は比較的簡単です。
最良の方法は、通信システムを分離することです。メインシステムとして... ABCD の下では、メインシステムからあらゆる情報が要求されます。 このデザインの方が優れています

ucenter も使用できます... しかし、考え方は同じです

この種のマルチサイト。マルチプラットフォームのユーザー同期の問題を意味します...

たとえば、A.B.C.D の 4 つのサイトがあり、それぞれ独立して実行されます。
次に、ABCD、登録、ログイン ユーザーのアバター ポイントなどの情報を統合する必要があります。

私は 1 つのサイトをメイン サイトとして使用していました。つまり、メイン ユーザー データベースです。その後、他の BCD 登録とログインでは、メイン サイトのクエリと登録に jsonp を使用する必要があります。
たとえば、サイト B は、次のようにログインします。情報を変更します。
jsonp を使用して ACD サイトに通知します。 このユーザーはログインしています。 変更についても同様です。
上記の方法は比較的簡単です。
最良の方法は、通信システムをメイン システムとして分離することです。 . ABCD の下にある情報は、メイン システムを要求します。これがデザインです

ucenter も使用できます...しかし、考え方は同じです


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