1. ユーザーは discuz にログインし、logging.php ファイルの uc_user_login 関数を通じて投稿されたデータを確認します。つまり、ユーザー名とパスワードを確認します。
2. 検証が成功すると、uc_client の下の client.php ファイルにある関数 uc_user_synlogin が呼び出されます。この関数では、uc_api_post('user', 'synlogin', array('uid'=>$uid) が呼び出されます。 )) が呼び出されます。
3. 次に、この関数は Ucenter の Index.php にデータを渡し、Index.php は渡されたデータを受け取り、モデルの値を user として、action を synlogin として取得します。
4. 次に、Ucenter のindex.php は、foreach ループを通じて、同期ログインを有効にする uc アプリケーション リスト内のアプリケーションに通知します。つまり、get メソッドを使用して、各アプリケーション ディレクトリの API の下にある uc.php にデータを渡します。
5. uc.php は通知を受け取り、取得したデータを処理し、関数 synlogin (uc.php にあります) 内の関数 _authcode を使用してデータを暗号化し (デフォルトではキーとして UC_KEY を使用します)、Cookie を関数_setcookie。
6. 各アプリケーションは、対応するキーを使用して上記の Cookie セットをデコードし、ユーザー ID およびその他のデータを取得します。この値を使用して、ユーザーが他のアプリケーションを通じてログインしたかどうかを判断し、ユーザーが自動的にログインできるようにします。
アプリケーションのLogging.php ------>client.php (uc_client の場合)----->Ucenter------>api/uc.php (他のアプリケーションの場合)
実際、同期ログインを実現する Ucenter の原理は Cookie です。アプリケーションがログインに成功すると、データが Ucenter に転送され、Ucenter が他のアプリケーションにも Cookie を設定するように通知します。これにより、ユーザーは Cookie を通じて自動的にログインできるようになります。他のアプリケーションにアクセスするときに設定されています。
一般的な手順では、まず ucenter をインストールし、次に uc_client フォルダーを独自のプロジェクトにコピーして、いくつかのファイルを構成します
client.phpは関数ライブラリに相当します
uc.phpはコールバックファイルに相当します
config.phpは設定ファイルです
ログインを同期するように 2 つのアプリケーションを設定している場合、アプリケーションにログインしてから
を実行するときinclude './config.inc.php';
include './uc_client/client.php';
$usernames="kyee";
$passwords="123456";
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 自体がバックグラウンドで同期ログインを有効にするすべてのアプリケーションを循環し、それをページに出力します
このようなJSコードが同期ログインを可能にする各アプリケーションに送信され、同期ログインを可能にする各アプリケーションのコールバックファイルuc.phpを受け取った後、実際に自分で復号できるようになります。コードを作成した場合は、この uc.php コールバック ファイルのコードをその形式で記述する必要はありません。独自のコードを作成することもできます。
実際、UC の原理は非常に単純です。つまり、アプリケーションはログイン後、バックグラウンドで同期的にログインしているアプリケーションに送信されたコールバック ファイルをポーリングし、コールバック ファイルがユーザー ID を受信した後、それをポーリングします。 Cookie またはセッションを生成し、ログイン モードに入ります。
Ucenterコミュニケーション原則
wenku.baidu.com/...1.html
私も2冊の特派員です。
大学でコミュニケーションを学ぶことは、自分の専攻を選択するだけでなく、自分のキャリアを選択することでもあります。それを選んだ以上、本当に熱心に勉強しなければなりません。職場で相手を見つけてください。今は興味がない場合は、できるだけ早く興味を育てる必要があります。コミュニケーションは永遠に失われる日の出産業とも言えるので、しっかり学べば良い仕事が見つからないという心配はありません!
学部コースはたくさんあり、学校ごとに異なります。しかし、必ずいくつかの主要な基礎コースが存在します。 「電気の模型」「計数点」「信号システム」「通信の原理」。特に通信の理論的基礎となる信号についてはしっかりと学ぶ必要があります。実際、端的に言えば、それは数学をよく学ぶことを意味します。将来大学院受験をする場合でも、就職する場合でも、数学をしっかり学んでおいて損はありません。特に大学院受験の際に役立ちます。ねえ、私の気持ちを表現させてください。コミュニケーションを学ぶ動機はたくさんあります。まず、通信業界で3年以上働くと、給与が非常に高くなります。第三者にとっては奥が深いように見えるものでも、あなたにとっては非常に単純なことであり、それが達成感をもたらします。直接的な動機は、Communication などの大きな Web サイトのフォーラムにアクセスしたり、「Dahua Communication」などの入門書を読んだりできることです。
この情報がお役に立てば幸いです。