gpt4 book ai didi

laravel - 在 Laravel 5.3 中与未经身份验证和经过身份验证的用户共享相同的路由

转载 作者:行者123 更新时间:2023-12-02 21:02:57 25 4
gpt4 key购买 nike

我有一条路线,我正在使用身份验证中间件,并且效果很好。

Route::group(['prefix' => 'v1','middleware' => ['auth:api']], function()
{
Route::resource('user', 'v1\MyController');
});

问题是我也希望未经身份验证的用户也可以访问此路由。通过上述操作,我收到 401 Unauthorized 错误,并且无法为未经身份验证的用户返回任何内容。那么我如何验证该路由(以便它传递用户数据),同时即使用户未经过身份验证也允许路由继续进行?

(我尝试在路由器页面上进行条件身份验证检查,但似乎用户已通过身份验证,因此它始终保持错误状态。)

编辑:我还应该注意,我正在使用带有密码授予和访问 token 的 API 路由。

最佳答案

从当前路由组中删除此路由(应用身份验证中间件)。

然后

public function __construct()
{
if (array_key_exists('HTTP_AUTHORIZATION', $_SERVER)) {
$this->middleware('auth:api');
}
}

然后

if (Auth::check()) {
// Auth users
} else{
//Guest users
}

关于laravel - 在 Laravel 5.3 中与未经身份验证和经过身份验证的用户共享相同的路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39593460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com