コントローラでユーザー認証ステータスを確認し、ゲストとユーザーへのアクセスを許可します
P粉362071992
2023-08-09 13:04:44
<p>サンクタムを使用しています。このようなコントローラーがあります</p>
<pre class="brush:php;toolbar:false;">パブリック関数 user()
{
if (auth('sanctum')->check()) {
true を返します。
} それ以外 {
false を返します。
}
}</pre>
<p>問題は、ミドルウェア <code>auth:sanctum</code> がないと、条件ステートメントが常に false を返すことですが、このミドルウェアを使用すると、すべてが正常に動作します。ただし、このミドルウェアを使用するにはユーザーがログインする必要があるため、ゲストとユーザーの両方にアクセスを許可したいと考えています。これどうやってするの?
ユーザーがログインしているかどうかをコントローラーでチェックインし、ログインしている場合は、たとえばユーザーの ID を返すことができるようにしたいと考えています。 </p>
あなたの質問に対して、利用可能な 1 つのオプションは、policies にアクセスすることです。sanctum コンポーネントのスコープは、次の example に示されています。