首页 > 解决方案 > Laravel 使用 auth()->user() 作为 api

问题描述

我有很多功能可以根据用户的权限执行操作。对于网络,一切正常。但我正在慢慢地改用更多的 ajax 和更少的重新加载页面。但是,我无法在我的 api 控制器中使用我的函数,因为我执行了权限检查

auth()->user()->...

我的 api 控制器也可以使用它吗?我知道我可以使用 访问用户模型$request->user,但如果这是唯一的机会,我想我必须复制我的所有功能,一个用于 web,一个用于 api。是否有任何其他更改可以重写我的功能,它们可以从控制器webapi控制器中执行?

标签: phplaravellaravel-authorization

解决方案


我认为只要你仍然'auth:api'在你的 api 路由上使用中间件,你应该可以使用auth()->user()helper。

更新

auth:api如果您正在使用中间件(我推荐),该中间件会随 Laravel Passport 一起提供。

https://laravel.com/docs/5.7/passport#protecting-routes


推荐阅读