Files

108 lines
3.3 KiB
PHP
Raw Permalink Normal View History

2026-01-07 11:40:41 +08:00
<?php
/**
* Zeed Platform Project
* Based on Zeed Framework & Zend Framework.
*
* BTS - Billing Transaction Service
* CAS - Central Authentication Service
*
* LICENSE
* http://www.zeed.com.cn/license/
*
* @category Zeed
* @package Zeed_ChangeMe
* @subpackage ChangeMe
* @copyright Copyright (c) 2010 Zeed Technologies PRC Inc. (http://www.zeed.com.cn)
* @author Zeed Team (http://blog.zeed.com.cn)
* @since 2010-8-16
* @version SVN: $Id$
*/
/**
* 节点站点身份认证
*
* @author Nroe
*/
class Com_Authorization_Node extends Com_Authorization
{
public static function forceLogin($continue = null)
{
$moduleName = Zeed_Controller_Request::instance()->getModuleName();
$moduleUrl = Zeed_Config::loadGroup('urlmapping.' . strtolower($moduleName));
if (parent::getLoggedInUserid() < 1) {
/**
* 转向 CAS 进行身份验证
*/
$loginUrl = ($moduleName == 'default') ? '/' : "/{$moduleName}/";
if ($continue != null) {
$loginUrl .= 'sign/in?continue=' . urlencode($continue);
} else {
$loginUrl .= 'sign/in?continue=' . strval($moduleUrl) . urlencode(Zeed_Controller_Request::instance()->requestUri());
}
$redirector = new Zeed_Util_Redirector('Goto', $loginUrl, 0, '您的浏览器不支持自动跳转,请手动点击这里');
$redirector->output();
exit();
}
}
/**
* 用户登出
*
* @param string $continue
* @return string
*/
public static function forceLogout($continue = null)
{
if (parent::getLoggedInUserid() > 0) {
$moduleName = Zeed_Controller_Request::instance()->getModuleName();
$moduleUrl = Zeed_Config::loadGroup('urlmapping.' . strtolower($moduleName));
$loginUrl = ($moduleName == 'default') ? '/' : "/{$moduleName}/";
if ($continue != null) {
$loginUrl .= 'sign/out?continue=' . urlencode($continue);
} else {
$loginUrl .= 'sign/out?continue=' . strval($moduleUrl) . urlencode($instance->getInput()->requestUri());
}
$redirector = new Zeed_Util_Redirector('Goto', $loginUrl, 0, '您的浏览器不支持自动跳转,请手动点击这里');
$redirector->output();
exit();
} else {
return false;
}
}
/**
* 登录用户记录用户SESSION
*
* @param $user
*/
public static function logInUser($user)
{
$_SESSION['userid'] = $user['userid'];
$_SESSION['userinfo'] = array(
'userid' => $user['userid'],
'username' => $user['username'],
'nickname' => $user['nickname'],
'gender' => $user['gender'],
'ctime' => $user['ctime']);
}
/**
* 获取当前登录用户的基本信息
*
* @return array|NULL
*/
public static function getLoggedInUserInfo()
{
return isset($_SESSION['userinfo']) ? $_SESSION['userinfo'] : NULL;
}
}
// End ^ Native EOL ^ encoding