webman api 统一返回,有的接口需要登陆验证,有的接口不需要,这个大家是怎么控制的

157079604

webman api 统一返回
像直接使用
$this->success();
$this->error();
这样

有些接口需要登陆才能调用
有些接口不用登陆调用
这种大家是怎么设计的

235 6 0
6个回答

hans

这个就是做授权认证, 用中间件就可以了

tj224589

截图

  • 暂无评论
cbasil

上路由中间件

  • 暂无评论
haoyun567

中间件设置路由白名单 我是这么做的

// 白名单
$apiWhite=[
    '/api/user/login',
    '/api/user/register',
    '/api/user/captcha',
];
$path=$request->path();
// 如果是白名单则放行
if(in_array($path,$apiWhite)){
    return $handler($request);
}
下面就是需要去登录的token判断
  • 暂无评论
tangzhangming

如果数量少就预定义,中间件排除鉴权。
如果不需要鉴权和需要鉴权的接口数量较多,直接使用前缀区别方式
例如不需要鉴权的action全部以 guest_开头,中间件中使用$request->action读取action名判断 如果以 guest_开头就跳过鉴权

  • 暂无评论
Tinywan

以下两个插件可以解决你的问题

认证插件:https://www.workerman.net/plugin/10
权限控制插件:https://www.workerman.net/plugin/6

  • 暂无评论
🔝