我正在使用Laravel 5.8。我创建了一个使用jwt的自定义Guard。我用作验证用户身份的中间件。 我有一些路由需要基于身份验证的用户或未经身份验证的用户做出不同的响应。你建议我做什么?实施此操作的最佳做法是什么?
我可以定义一个自定义防护措施,其检查功能始终返回true。在未认证用户的情况下,为未经认证的用户返回一个类似-1的整数。但这听起来不是实现此目标的一种干净方法。
答案 0 :(得分:0)
根据您要进行的设置,您可以只在控制器方法中使用Auth
门面助手,以查看用户是否通过了身份验证:
// SomeController.php
public function index(Request $request)
{
if(Auth::guest()) {
return response()->json('i am a guest');
} else {
return response()->json('im not a guest');
}
}
或使用任何相关方法:
// Inverse of `Auth::guest()`
$isLoggedIn = Auth::check();
$loggedInUser = Auth::user();
https://laravel.com/api/5.8/Illuminate/Auth/GuardHelpers.html