ホームページ バックエンド開発 PHPチュートリアル Linux で PHPBB を CAS と組み合わせて構成すると、関連する問題が発生します。

Linux で PHPBB を CAS と組み合わせて構成すると、関連する問題が発生します。

Jun 13, 2016 pm 01:46 PM
cas login server user

Linux で PHPBB を CAS と組み合わせて構成するときに問題が発生します。 。
mysql php apache tomcat ssl 環境をインストールした後、
function.php

PHP コードで CASClient を PHPBB に追加するコードに従って構成しました。

<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
Add require($phpbb_root_path . 'includes/CAS.' . $phpEx);
Find (isset($_POST['login']))
Replace it with:
if(!$admin &amp;&amp; CAS_ENABLE){ 
// initialize phpCAS 
phpCAS::client(CAS_VERSION_2_0, CAS_SERVER_HOSTNAME, CAS_SERVER_PORT, CAS_SERVER_APP_NAME); 
phpCAS::setNoCasServerValidation(); 
// force CAS authentication 
phpCAS::forceAuthentication(); 
} 
if (isset($_POST['login']) || (!$admin &amp;&amp; CAS_ENABLE) )
Find $result = $auth-&gt;login($username, $password, $autologin, $viewonline, $admin);
Add the following code before it:
if(!$admin &amp;&amp; CAS_ENABLE){ 
$username = phpCAS::getUser(); 
$password = ''; 
}


ログイン後にコピー

Auth.php 内

PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
Add the following function:
function login_cas($username){ 
global $db; 
$sql = 'SELECT user_id, username, user_password, user_passchg, user_pass_convert, user_email, user_type, user_login_attempts FROM ' . USERS_TABLE 
. " WHERE username_clean = '" . $username . "'"; 
$result = $db-&gt;sql_query($sql); 
$row = $db-&gt;sql_fetchrow($result); 
$db-&gt;sql_freeresult($result); 

if (!$row) { 
return array( 
'status' =&gt; LOGIN_ERROR_USERNAME, 
'error_msg' =&gt; 'LOGIN_ERROR_USERNAME', 
'user_row' =&gt; array('user_id' =&gt; ANONYMOUS), 
); 
} 

if ($row['user_type'] == USER_INACTIVE || $row['user_type'] == USER_IGNORE) { 
return array( 
'status' =&gt; LOGIN_ERROR_ACTIVE, 
'error_msg' =&gt; 'ACTIVE_ERROR', 
'user_row' =&gt; $row, 
); 
} 

// Successful login... set user_login_attempts to zero... 
return array( 
'status' =&gt; LOGIN_SUCCESS, 
'error_msg' =&gt; false, 
'user_row' =&gt; $row, 
); 
}
Find $login = $method($username, $password);
Replace it with:
if(!$admin &amp;&amp; CAS_ENABLE)    
$login = $this-&gt;login_cas($username);    
else    
$login = $method($username, $password);

ログイン後にコピー

constants.php 内

PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
Add the following constant value:
define('CAS_ENABLE', true); 
define('CAS_SERVER_HOSTNAME', 'localhost'); 
define('CAS_SERVER_PORT', 8443); 
define('CAS_SERVER_APP_NAME', 'cas');

ログイン後にコピー
phpBB3 フォーラムで [ログイン] をクリックして、CAS サーバーのパブリック ログイン インターフェイスに移動し、ユーザー名とパスワードを入力してログインします
URL でチケットが取得されていることがわかりますが、ページは次のエラーが表示されます:

PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
[phpBB Debug] PHP Notice: in file /includes/CAS/client.php on line 529: session_destroy() [function.session-destroy]: Trying to destroy uninitialized session
CAS Authentication failed!

You were not authenticated.

You may submit your request again by clicking here.

If the problem persists, you may contact the administrator of this site.
phpCAS ${phpcas.version} using server https://localhost:8443/cas/ (CAS 2.0)

ログイン後にコピー
何が問題だったのかわかりません。問題がどこにあるのかを理解するのを手伝っていただけますか。皆さん、ありがとうございます。この問題は私を長い間悩ませてきました。


-----解決策--------- ジャッキアップして待ってて

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Windows サーバーのバックアップをインストール、アンインストール、リセットする方法 Windows サーバーのバックアップをインストール、アンインストール、リセットする方法 Mar 06, 2024 am 10:37 AM

Windows サーバーのバックアップをインストール、アンインストール、リセットする方法

Windows Server 2025 プレビュー バージョンがアップデートを歓迎、Microsoft が Insider テスト エクスペリエンスを改善 Windows Server 2025 プレビュー バージョンがアップデートを歓迎、Microsoft が Insider テスト エクスペリエンスを改善 Feb 19, 2024 pm 02:36 PM

Windows Server 2025 プレビュー バージョンがアップデートを歓迎、Microsoft が Insider テスト エクスペリエンスを改善

Flask-Login を使用してユーザー ログインとセッション管理を実装する方法 Flask-Login を使用してユーザー ログインとセッション管理を実装する方法 Aug 02, 2023 pm 05:57 PM

Flask-Login を使用してユーザー ログインとセッション管理を実装する方法

CAS (中央認証サービス) を介した PHP セキュリティ検証の実装 CAS (中央認証サービス) を介した PHP セキュリティ検証の実装 Jul 24, 2023 pm 12:49 PM

CAS (中央認証サービス) を介した PHP セキュリティ検証の実装

Docker マウントディレクトリの権限の問題を解決する方法 Docker マウントディレクトリの権限の問題を解決する方法 Feb 29, 2024 am 10:04 AM

Docker マウントディレクトリの権限の問題を解決する方法

Nginx のバージョン名を変更して Web サーバーを偽装する方法 Nginx のバージョン名を変更して Web サーバーを偽装する方法 May 14, 2023 pm 09:19 PM

Nginx のバージョン名を変更して Web サーバーを偽装する方法

Microsoft、Windows Server vNext プレビュー バージョン 25335 をリリース Microsoft、Windows Server vNext プレビュー バージョン 25335 をリリース Jan 10, 2024 am 08:49 AM

Microsoft、Windows Server vNext プレビュー バージョン 25335 をリリース

Java CASの概念とは何ですか Java CASの概念とは何ですか May 03, 2023 pm 09:34 PM

Java CASの概念とは何ですか

See all articles