web-dev-qa-db-ja.com

Laravelガードとは何ですか?

組み込みの認証コントローラーを調べていたところ、「ガード」と呼ばれるものを使用していることに気付きました。これまで、自分でログイン/登録フォームを作成するたびに、これらに触れることはなく、通常は次のようなことをしていました。

Auth::attempt()

タイプのガードなし。私はそれが何であるかを正確に調べてみましたが、それに関する情報を実際に見つけることができませんでした。

57
user1157885

これらは、システムがユーザーに関する情報を保存および取得する方法の定義です。

設定はconfig/auth.phpファイルで見つけることができます。 Webガードは従来のCookieストアです。そのため、WebガードはLaravelに古典的な方法でセッション情報を保存および取得するよう指示します。一方、APIガードはトークンを使用します。そのため、ヘッダー(ベアラー)またはクエリパラメーターでAPIトークンを使用してユーザーと要求を認証する場合は、APIガードを使用します。

独自のガードを作成する 必要に応じて、Matt Staufferのトピックに関する ブログ投稿 も紹介します。

73
Theson

ガードは、認証されたユーザーを識別するために使用されるロジックを提供する方法です。 Laravelは、セッションやトークンなどのさまざまなガードを提供します。セッションガードは、各リクエストのユーザーの状態をCookieによって維持しますが、トークンガードは、すべてのリクエストで有効なトークンをチェックすることでユーザーを認証します。

2
sachinsuthariya