本文整理匯總了PHP中Token::findFirst方法的典型用法代碼示例。如果您正苦於以下問題:PHP Token::findFirst方法的具體用法?PHP Token::findFirst怎麽用?PHP Token::findFirst使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Token
的用法示例。
在下文中一共展示了Token::findFirst方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: verifyToken
/**
* 驗證token
* @return bool true為合法,false為非法
*/
protected function verifyToken()
{
$request = new Request();
$token = $request->getHeader('singou-token');
//如果token不為空則檢查,為空放行
if (!empty($token)) {
$model_token = new Token();
$dbToken = $model_token->findFirst(array('token' => $token));
$offset = time() - intval($dbToken->expire());
if ($offset < 0) {
return false;
}
return true;
}
}
示例2: logout
public function logout()
{
$token = parent::verifyToken();
if (false == $token) {
return parent::tokenError();
}
if (!empty($token->logout_time)) {
return parent::tokenError();
}
$dbToken = Token::findFirst("token='" . $token->token . "'");
if (false == $dbToken->delete()) {
return parent::serverError();
}
$this->session->destroy($token->token);
// 刪除緩存中的token
return parent::success();
}
示例3: logout
/**
* @api {post} /token 登錄獲得token
* @apiUse header
*
* @apiName logout
* @apiGroup Token
* @apiVersion 1.0.0
*
* @apiSuccess {Array} empty_array 空數組,無實際意義
*
* @apiUse errorExample
*/
public function logout()
{
$token = $this->session->get('token');
if (false == $token) {
return parent::tokenError();
}
if (!empty($token->logout_time)) {
return parent::tokenError();
}
$dbToken = Token::findFirst("token='" . $token->token . "'");
$dbToken->logout_time = time();
if (false == $dbToken->delete()) {
return parent::serverError();
}
$this->session->set('token', null);
// 設置token為null
return parent::success();
}
示例4: verifyToken
/**
* 驗證token
* @return bool false為非法 否則返回儲存在數據庫的token值
*/
public function verifyToken()
{
$request = new Request();
$token = $request->getHeader('token');
if (!empty($token)) {
session_id($token);
$cacheToken = $this->session->get('token');
//從session中取得token
if (null == $cacheToken) {
$tokenModel = new Token();
// 避免緩存失效,再去數據庫裏麵拿
$cacheToken = $tokenModel->findFirst("token='" . $token . "'");
if (false == $cacheToken) {
return false;
} else {
$this->session->set('token', $token);
// 再次存進session中去
}
}
$offset = time() - intval($cacheToken->expire);
if ($offset > 0) {
// 過期
$this->session->set('token', null);
return false;
}
if (!empty($cacheToken->logout_time)) {
// 已經退出登錄
$this->session->set('token', null);
return false;
}
return $cacheToken;
}
// 為空,直接返回false
return false;
}