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 && 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 && CAS_ENABLE) ) Find $result = $auth->login($username, $password, $autologin, $viewonline, $admin); Add the following code before it: if(!$admin && 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->sql_query($sql); $row = $db->sql_fetchrow($result); $db->sql_freeresult($result); if (!$row) { return array( 'status' => LOGIN_ERROR_USERNAME, 'error_msg' => 'LOGIN_ERROR_USERNAME', 'user_row' => array('user_id' => ANONYMOUS), ); } if ($row['user_type'] == USER_INACTIVE || $row['user_type'] == USER_IGNORE) { return array( 'status' => LOGIN_ERROR_ACTIVE, 'error_msg' => 'ACTIVE_ERROR', 'user_row' => $row, ); } // Successful login... set user_login_attempts to zero... return array( 'status' => LOGIN_SUCCESS, 'error_msg' => false, 'user_row' => $row, ); } Find $login = $method($username, $password); Replace it with: if(!$admin && CAS_ENABLE) $login = $this->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');
ログイン後にコピー
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 までご連絡ください。

人気の記事
レポ:チームメイトを復活させる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
1週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD

人気の記事
レポ:チームメイトを復活させる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
1週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック
Gmailメールのログイン入り口はどこですか?
7297
9


Java チュートリアル
1622
14


CakePHP チュートリアル
1342
46


Laravel チュートリアル
1259
25


PHP チュートリアル
1206
29



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

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

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

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