Sediakan penghalaan untuk pengguna dengan log masuk pilihan dalam Sanctum
P粉741678385
2023-08-06 12:46:33
<p>Sanctum berkongsi Auth:sanctum middleware dan ia berfungsi. Lihat kod ini: </p>
<pre class="brush:php;toolbar:false;">Route::middleware('auth:sanctum')->group(function () {
Route::post('/profile', [TestController::class, 'test']);
});</pre>
<p>Dan kaedah pengawal: </p>
<pre class="brush:php;toolbar:false;">ujian fungsi awam()
{
if (Auth::check()) {
kembalikan 'pengguna';
} lain {
kembali 'Tetamu';
}
}</pre>
<p>Masalahnya ialah jika laluan saya menggunakan perisian tengah "auth:sanctum", semuanya berfungsi dengan baik untuk pengguna log masuk, tetapi untuk tetamu saya mendapat ralat "Tidak Dibenarkan". Tanpa menggunakan middleware ini, pengesahan tidak berfungsi dengan betul dan tidak mengenali jika saya log masuk (sentiasa mengembalikan 'Tetamu'). Bagaimanakah saya boleh menyelesaikan masalah ini? Saya ingin menunjukkan kepada pengguna apabila log masuk, jika tidak "Tetamu" perlu ditunjukkan. </p>
Jika pengguna menggunakan Sanctum untuk pengesahan, cuba gunakan: auth('sanctum')->check().