找到discuz的logging.php 这个是登陆入口,在第二行插入
define('CAS_ENABLE', true);
define('CAS_SERVER_HOSTNAME', "CAS服务器地址");
define('CAS_SERVER_PORT', 80);
define('CAS_SERVER_APP_NAME', "CAS验证入口");
require_once("CAS.php");
phpCAS::client(CAS_VERSION_2_0, CAS_SERVER_HOSTNAME, CAS_SERVER_PORT, CAS_SERVER_APP_NAME);
phpCAS::setNoCasServerValidation();
phpCAS::forceAuthentication();
if($action<>'logout'){
unset($_COOKIE);
$action='login';
$username = phpCAS::getUser();
$password = '';
$loginsubmit='yes';
$cookietime="2592000";
$allowsynlogin = 1;
}
找到这行showmessage('logout_succeed', dreferer()); 在它上面加入
phpCAS::logout();
之后找到uc_client \control目录下的user.php 注释掉第123行开始的
elseif($user['password'] != md5($passwordmd5.$user['salt'])) {
$status = -2;
} elseif($checkques && $user['secques'] != '' && $user['secques'] != $_ENV['user']-
>quescrypt($questionid, $answer)) {
$status = -3;
}
找到uc_client \model目录下的user.php ,注释掉第100行开始的
define('CAS_ENABLE', true);
define('CAS_SERVER_HOSTNAME', "CAS服务器地址");
define('CAS_SERVER_PORT', 80);
define('CAS_SERVER_APP_NAME', "CAS验证入口");
require_once("CAS.php");
phpCAS::client(CAS_VERSION_2_0, CAS_SERVER_HOSTNAME, CAS_SERVER_PORT, CAS_SERVER_APP_NAME);
phpCAS::setNoCasServerValidation();
phpCAS::forceAuthentication();
if($action<>'logout'){
unset($_COOKIE);
$action='login';
$username = phpCAS::getUser();
$password = '';
$loginsubmit='yes';
$cookietime="2592000";
$allowsynlogin = 1;
}
找到这行showmessage('logout_succeed', dreferer()); 在它上面加入
phpCAS::logout();
之后找到uc_client \control目录下的user.php 注释掉第123行开始的
elseif($user['password'] != md5($passwordmd5.$user['salt'])) {
$status = -2;
} elseif($checkques && $user['secques'] != '' && $user['secques'] != $_ENV['user']-
>quescrypt($questionid, $answer)) {
$status = -3;
}
找到uc_client \model目录下的user.php ,注释掉第100行开始的
本文详细介绍了如何在Discuz系统中集成CAS认证流程,并对其关键部分进行了注释和修改,包括登陆入口、CAS认证配置、登录验证、登出操作等。

被折叠的 条评论
为什么被折叠?



