我们将最新版本的 ([Sum of all grades from one group] / [number of grades of one group])
与 Laravel
一起使用,并希望实现一项功能,以允许我们的管理员代表普通用户登录。这使我们能够在某些用户遇到帐户问题时提供更好的支持。
This function 似乎完美地达到了预期的结果:
Laravel Jetstream
很遗憾,我收到以下错误消息
Auth::loginUsingId(1);
一段时间后,多亏了 Laravel Debugbar 的帮助,我才发现问题是由 Method Illuminate\Auth\RequestGuard::loginUsingId does not exist
引起的。不包含上述功能,设置为Laravel Sanctum
以保护middleware
文件中的路由。
更改 app\routes\web.php
from
middleware
到
Route::middleware(['auth:sanctum', 'verified'])
长话短说:
是否有其他解决方案可以做到这一点?或者更好:这甚至是一个有效的解决方案吗?我可以直接从网络路由中删除 Route::middleware(['auth', 'verified'])
还是出于某种原因需要这样做?我们仍希望使用 Sanctum
来验证我们的移动应用程序基于令牌的 API。
答案 0 :(得分:2)
Sanctum 提供了一种简单的机制(与 Passport 相比)来验证您的 API 和 SPA(由 API 提供服务)。
如果您不是在开发 SPA,则不需要使用 auth:sanctum
中间件,而是可以使用网络 auth
中间件。
您仍然可以并且应该使用 routes/api.php
文件中的 sanctum 中间件。