pyg电商实战3

6.4 退出接口

① 设置路由,application/route.php中,adminapi域名路由部分,增加代码如下

//验证码图片
Route::get('logout', 'adminapi/login/logout');

1562848720369

② 创建logout方法

application/adminapi/controller/Login.php中 创建logout方法

/**
 * 后台退出接口
 */
public function logout()
{
    //清空token  将需清空的token存入缓存,再次使用时,会读取缓存进行判断
    $token = \Token::getRequestToken();
    $delete_token = cache('delete_token') ?: [];
    $delete_token[] = $token;
    cache('delete_token', $delete_token, 86400);
    $this->ok();
}

6.5 登录检测

除了登录相关接口,其他接口都需要登录后才能访问。

在application/adminapi/controller/BaseApi.php中进行检测。

① 设置无需检测方法列表

//无需进行登录检测的请求
protected $no_login = ['login/login', 'login/captcha'];

② 进行检测

 try{
     $path = strtolower($this->request->controller()) . '/' . $this->request->action();
     if(!in_array($path, $this->no_login)){
         $user_id = \tools\jwt\Token::getUserId();
         //登录验证
         if(empty($user_id)){
             $this->fail('未登录或Token无效', 403);
         }
         //将获取的用户id 设置到请求信息中
         $this->request->get(['user_id' => $user_id]);
         $this->request->post(['user_id' => $user_id]);
     }
 }catch(\Exception $e){
     $this->fail('服务异常,请检查token令牌', 403);
 }

测试: 将 index控制器继承 BaseApi, 浏览器访问 http://adminapi.pyg.com

1562923668783

总结:

项目搭建和配置、数据表设计、BaseApi基础控制器类(跨域处理、响应方法)

验证码接口、登录接口、退出接口、登录检测功能

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值