laravel 如何让一个 controller method 既可以匿名访问,也可以身份认证后访问?-灵析社区

花影流年

举例: 一篇新闻,匿名用户可以正常访问,已登录用户访问后会记录阅读历史。 这种情况下路由该怎么写的? ``` php Route::middleware('guest')->group(function () { Route::get('/news/{news}', [\App\Http\Controllers\Api\NewsController::class, 'show']); }); ```

阅读量:159

点赞量:0

问AI
路由应该是这样的: Route::get('/news/{news}', [\App\Http\Controllers\Api\NewsController::class, 'show']); NewsController : use Illuminate\Support\Facades\Auth; public function show(News $news) { if (Auth::check()) { // 用户已经登录,记录阅读历史 $user = Auth::user(); // 记录用户的阅读历史,这取决于你的实现 // $user->recordRead($news); } // 显示新闻 return view('news.show', ['news' => $news]); }