Heim  >  Artikel  >  php教程  >  Einfache Analyse des Kommunikationsprinzips der synchronen Anmeldung von Ucenter-Mitgliedern

Einfache Analyse des Kommunikationsprinzips der synchronen Anmeldung von Ucenter-Mitgliedern

高洛峰
高洛峰Original
2016-12-30 16:44:341194Durchsuche

1. Der Benutzer meldet sich bei discuz an und überprüft die geposteten Daten über die Funktion uc_user_login in der Datei logging.php, d. h. den Benutzernamen und das Passwort.

2. Wenn die Überprüfung erfolgreich ist, wird die Funktion uc_user_synlogin aufgerufen, die sich in der Datei client.php unter uc_client befindet. In dieser Funktion wird uc_api_post('user', 'synlogin', array('uid'=) aufgerufen >$ uid)).

3. Dann übergibt diese Funktion Daten an index.php von Ucenter. Index.php akzeptiert die übergebenen Daten und erhält den Wert von Modell als Benutzer und Aktion als Synlogin.

4. Dann ruft index.php von Ucenter die Methode onsynlogin in der Klasse user.php im Steuerverzeichnis auf und benachrichtigt die Anwendungen in der UC-Anwendungsliste, die eine synchrone Anmeldung ermöglichen, über die foreach-Schleife Das heißt, einige Daten werden über die get-Methode unter der API in jedem Anwendungsverzeichnis an uc.php übergeben.

5. uc.php empfängt die Benachrichtigung und verarbeitet die Get-Daten und verschlüsselt die Daten über die Funktion _authcode in der Funktion synlogin (in uc.php) (standardmäßig wird UC_KEY als Schlüssel verwendet) und verwendet die Funktion _setcookie Cookies setzen.

6. Jede Anwendung verwendet den entsprechenden Schlüssel, um das oben gesetzte Cookie zu entschlüsseln und die Benutzer-ID und andere Daten zu erhalten. Verwenden Sie diesen Wert, um festzustellen, ob sich der Benutzer über andere Anwendungen angemeldet hat, damit er sich anmelden kann automatisch ein.

Logging.php in der Anwendung ------>client.php in uc_client------>Ucenter------>api/ in anderen Anwendungen uc.php.

Tatsächlich ist das Prinzip von Ucenter, eine synchrone Anmeldung zu erreichen, ein Cookie. Nachdem sich eine Anwendung erfolgreich angemeldet hat, übergibt sie Daten an Ucenter und lässt Ucenter andere Anwendungen benachrichtigen, ebenfalls Cookies zu setzen, damit Benutzer das bereits verwenden können Setzen Sie Cookies beim Zugriff auf andere Anwendungen. Cookie ermöglicht die automatische Anmeldung.

Die allgemeinen Schritte bestehen darin, zuerst ucenter zu installieren, dann den Ordner uc_client in Ihr eigenes Projekt zu kopieren und dann mehrere Dateien zu konfigurieren

client.php entspricht einer Funktionsbibliothek

uc.php entspricht der Rückrufdatei

config.php ist die Konfigurationsdatei

Wenn Sie zwei Anwendungen für die Synchronisierung der Anmeldung eingerichtet haben, wenn Sie sich bei einer Anwendung anmelden und

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() Diese Funktion stellt die synchrone Anmeldung für alle anderen Funktionen dar, die eine synchrone Anmeldung ermöglichen. uc selbst durchläuft im Hintergrund alle Anwendungen, die eine synchrone Anmeldung ermöglichen, und gibt sie dann aus Seite

<script type="text/javascript" src="http://rayibeauty.ck101.com/api/uc.php?time=1408327309&code=bc6bFLa6WH343nin2GAn%2F82Y9cnCennPk1gcLGYHdQF4wsXsOSdTyqBb2Nuoxe0UJqzWMWncdx%2FfQ1GK6FS%2BqJqi2AxVG2Oq1pD9c1wZy%2BgjXs7qo4mm2sxFVHwW7JnjKGPDkVdDqtYeybkSISz7yrdb0ZFuXH2yr3Cq" reload="1"></script>
<script type="text/javascript" src="http://kibeauty.ibeauty.tw/api/uc.php?time=1408327309&code=206flCqeb%2Faft%2FDFPno9Bvqsb1b0o6XTZdIByOoD7EC11vMrjzC7PaKLo0LF3tGiHwlwZkwdW5VDHq866MGulsco5nekfkL341VWp7BPabnZPNtgG7m4jZpfdx6nVP0LTJLYI%2BkebI7uLm58atk8Ex4sKBj%2FfDkjH%2F8z" reload="1"></script>

Dieser JS-Code wird an jede Anwendung gesendet, die eine synchrone Anmeldung ermöglicht, und dann wird die Rückrufdatei uc.php jeder Anwendung, die eine synchrone Anmeldung ermöglicht, nach Erhalt entschlüsselt Sie können den Code selbst schreiben. Der Code dieser uc.php-Callback-Datei muss nicht in ihrem Format geschrieben werden.

Tatsächlich ist das Prinzip von UC sehr einfach. Nachdem sich eine Anwendung angemeldet hat, fragt sie die Rückrufdatei ab, die im Hintergrund an die synchron angemeldete Anwendung gesendet wird. Es generiert ein Cookie oder eine Sitzung und wechselt dann in den Anmeldemodus.

Für eine einfachere Analyse der Kommunikationsprinzipien der synchronen Anmeldung von ucenter-Mitgliedern und verwandter Artikel beachten Sie bitte die chinesische PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn