1. Voraussetzung: Der CAS-Server wurde eingerichtet
Dies ist nicht der Schwerpunkt dieses Artikels, daher werde ich nicht auf Details eingehen. Portal: https://blog.csdn.net/u013825231/article/details/79132399
2. PHPCAS-Client herunterladen
PHP-Client-Download: https://github.com /apereo/ phpCAS
Hinweise zur PHP-Client-Konfiguration: https://apereo.atlassian.net/wiki/spaces/CASC/pages/103252517/phpCAS
php-Client-Anforderungen: https://apereo. atlassian.net/wiki/spaces/CASC/pages/103252625/phpCAS+requirements
Hinweis: Die PHP-Konfigurationsdatei php.ini muss php_curl aktivieren, find;extension=php_curl.dll, einfach das Semikolon entfernen vor dem Satz und ändern Sie ihn in extension=php_curl.dll
3. Thinkphp5 führt die phpCAS-Klassenbibliothek ein
1. Laden Sie die phpCAS-Client-Dateistruktur herunter.
Verwandte Empfehlungen: „ThinkPHP Tutorial“
2. Kopieren Sie den Quellordner in den Erweiterungsordner unter Thinphp5 und benennen Sie ihn in um : phpCAS
3. Konfiguration der config.php-Datei
4. Weil Der Server, auf dem ich Single Sign-On angefordert habe, ist http-authentifiziert, nicht https. Ich muss CAS/client.php ändern und https in http ändern (die Datei client.php wurde zu Beginn nicht geändert und es wurde immer die https-Authentifizierung verwendet. Also die Anfrage ist fehlgeschlagen)
5. Benennen Sie die Geschwisterdatei CAS.php des CAS-Klassenbibliotheksordners in phpCAS.php um
und ändern Sie sie in
6. Die Login-Controller-Methode ist:
setDebug(); // Initialize phpCAS $phpCAS->client(CAS_VERSION_2_0, $cas_host, $cas_port, $cas_context); // For quick testing you can disable SSL validation of the CAS server. // THIS SETTING IS NOT RECOMMENDED FOR PRODUCTION. // VALIDATING THE CAS SERVER IS CRUCIAL TO THE SECURITY OF THE CAS PROTOCOL! $phpCAS->setNoCasServerValidation(); //这里会检测服务器端的退出的通知,就能实现php和其他语言平台间同步登出了 $phpCAS->handleLogoutRequests(); //访问CAS的验证通过后,跳转到网页 if($phpCAS->forceAuthentication()){ echo ""; }; } }
Besuchen Sie abschließend diese Login-Methode, um den Sprung zur Single-Sign-In-Seite abzuschließen!
Das obige ist der detaillierte Inhalt vonWie thinkphp Single Sign-On implementiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!