83 lines
2.2 KiB
PHP
83 lines
2.2 KiB
PHP
|
|
<?php
|
|||
|
|
/**
|
|||
|
|
* iNewS Project
|
|||
|
|
*
|
|||
|
|
* LICENSE
|
|||
|
|
*
|
|||
|
|
* http://www.inews.com.cn/license/inews
|
|||
|
|
*
|
|||
|
|
* @category iNewS
|
|||
|
|
* @package ChangeMe
|
|||
|
|
* @subpackage ChangeMe
|
|||
|
|
* @copyright Copyright (c) 2008 Zeed Technologies PRC Inc. (http://www.inews.com.cn)
|
|||
|
|
* @author Ahdong ( GTalk: ahdong.com@gmail.com )
|
|||
|
|
* @since May 19, 2010
|
|||
|
|
* @version SVN: $Id: Authorization.php 11362 2011-08-25 06:36:38Z nroe $
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
class Com_Authorization
|
|||
|
|
{
|
|||
|
|
public static function forceLogin($msg = false)
|
|||
|
|
{
|
|||
|
|
if (self::getLoggedInUserid() < 1) {
|
|||
|
|
$url = '/sign/in?continue=' . urlencode($_SERVER["REQUEST_URI"]);
|
|||
|
|
if ($msg) {
|
|||
|
|
$sig = md5($msg . '@Wang#Wu#Wang@');
|
|||
|
|
$url .= '&msg=' . urlencode($msg) . '&sig=' . $sig;
|
|||
|
|
}
|
|||
|
|
header('Location: ' . $url);
|
|||
|
|
exit();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 登录用户,记录用户SESSION
|
|||
|
|
*
|
|||
|
|
* @param $user
|
|||
|
|
*/
|
|||
|
|
public static function logInUser($user)
|
|||
|
|
{
|
|||
|
|
$_SESSION['userid'] = $user['userid'];
|
|||
|
|
$_SESSION['username'] = $user['username'];
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 判断用户是否在线
|
|||
|
|
* 用户标识 $userid 是 BigInteger 不能使用大于 0 来进行判断用户是否登录
|
|||
|
|
*
|
|||
|
|
* @param BigInteger $userid 检查指定用户是否登录
|
|||
|
|
* @todo param $userid
|
|||
|
|
*/
|
|||
|
|
public static function isUserLoggedIn($userid = null)
|
|||
|
|
{
|
|||
|
|
return (isset($_SESSION['userid']) && ($_SESSION['userid'] > 0));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 获取当前登录用户ID
|
|||
|
|
*
|
|||
|
|
* @return integer
|
|||
|
|
*/
|
|||
|
|
public static function getLoggedInUserid()
|
|||
|
|
{
|
|||
|
|
return isset($_SESSION['userid']) ? $_SESSION['userid'] : 0;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 获取当前登录用户的基本信息
|
|||
|
|
*
|
|||
|
|
* @return array|NULL
|
|||
|
|
*/
|
|||
|
|
public static function getLoggedInUserInfo()
|
|||
|
|
{
|
|||
|
|
if (isset($_SESSION['userid']) && $_SESSION['userid'] > 0) {
|
|||
|
|
$userinfo = Cas_Model_User_Detail::instance()->getUserByUserid($_SESSION['userid']);
|
|||
|
|
if (null !== $userinfo) {
|
|||
|
|
return $userinfo;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return null;
|
|||
|
|
}
|
|||
|
|
}
|