有意思比有意义更有意义
最近发表的话题
最近发表的评论
  • 使用 passport 的登录,获取用户模型为 NULL? at 1天前
    • 用户登录成功后需要记录登录日志。用户登录成功后会触发一个事件,然后走的是消息队列,异步去写登录的日志,这里就需要用到user_id。目前我是通过用户提交的信息,再去查一次数据库,拿到user_id。但是呢,这种做法不好。比如在某一刻,同时有10000个用户登录,在记登录日志的时候,前前后后需要查10000次,对数据库的压力还蛮大的。我其实就是想知道,有没有什么方便的途径能拿到登录成功的用户id(因为之前有看到过$this-user(),Auth::guard('api')->user()等方式获取用户信息的)。

    • 我预想了一种方案,使用缓存。在vendor/laravel/passport/src/Bridge/UserRepository.php中的getUserEntityByUserCredentials()方法,第41行:
      if (method_exists($model, 'findForPassport')) {
              $user = (new $model)->findForPassport($username);
          } else {
              $user = (new $model)->where('email', $username)->first();
          }

      在findForPassport方法中,把查到的user信息如user_id写到缓存里。有异步处理的时候,直接去查缓存,拿到user_id。这种方式莫名觉得笨笨的。

  • 关于 dingoapi 访问不同 version 的问题? at 2周前

    @木乃伊会跳舞 是的,设置的头的API_STANDARDS_TREE要与配置文件里面的保持一致。其实这个我之前有看到过,还试着用vnd来访问了,但没成功。失败的原因呢,说出来确实挺不好意思的:我用错postman了,把header参数Accept写到了params了。

  • 关于 dingoapi 访问不同 version 的问题? at 2周前

    @AspireHe 还是没有明白。按我的理解,跟命名空间没有关系,它就在路由里面各个写了function做了response返回,又不需要具体跳到对应命名空间内控制器的方法

  • 关于 dingoapi 访问不同 version 的问题? at 2周前

    我对照了文档,还是没发现哪里有问题。下面我附下相关截图:

    file
    file
    file
    file