日期:2014-05-17 浏览次数:20432 次
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 = ''; }
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);
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');
[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)