Rumah > pembangunan bahagian belakang > tutorial php > PHPBB结合CAS在linux下配置时候出现有关问题,

PHPBB结合CAS在linux下配置时候出现有关问题,

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2016-06-13 13:46:47
asal
1169 orang telah melayarinya

PHPBB结合CAS在linux下配置时候出现问题,急急急。。
在linux下结合CAS时候出现问题,安装好mysql php apache tomcat ssl环境之后
按照在PHPBB中加入CASClient 的代码配置了下
in function.php

PHP code
<!--

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 = ''; 
}


Salin selepas log masuk


在In Auth.php
PHP code
<!--

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);

Salin selepas log masuk


In constants.php
PHP code
<!--

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');

Salin selepas log masuk

在phpBB3论坛里面点击登录跳到CAS server 的公共登录界面,输入用户名密码登录
看见url上已经出现获得了ticket,但是页面显示出错误如下:
PHP code
<!--

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)

Salin selepas log masuk

完全弄不明白哪里出错了。忘高手帮我看看什么地方出现问题了。谢谢大家,这问题困扰我N久了。

------解决方案--------------------
顶起 等待
------解决方案--------------------
帮顶。学习。
Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan