【routes】
ーーー auth.php ーーー
Route::middleware('guest')->group(function () {
guest =
ログインしていない人に表示されるページへのルート。
ユーザーがログインしている場合、指定されたリダイレクト先にリダイレクトする。
Route::middleware('auth')->group(function () {
auth =
ログインしている人のみに表示されるページへのルート。
ログインしていない場合、指定されたリダイレクト先にリダイレクトする。
以下の通り自作することも可能。
ミドルウェアの作成手順
ーーーーーーーーーーーーーーーーーーーーーーー
1、Middlewareファイルを作る
(今回はAdminAuthという名前)
(認証成功時、失敗時どのような動きをするか登録するファイル)
2、app/Http/Kernel.phpに登録
(1で作成したファイルを使えるようにする)
3、config/auth.phpに諸々追記
4、Adminモデルにも諸々追記
5、config/app.phpにサービスプロバイダ追記
ーーーーーーーーーーーーーーーーーーーーーーー
1、Middlewareファイルを作る(今回は)AdminAuthという名前
ターミナルに php artisan make:middleware AdminAuth コマンド入力。
↓
ファイルを以下に編集
2、app/Http/Kernel.phpに登録
1のファイルをrouteで Route::middleware(['auth:admin'])->group(function(){ で使えるようにKernelクラスに登録する
3、config/auth.phpに諸々追記
config/auth.php ファイルのguardsセクションに企業アカウント用のガード(認証されているかどうかを確認するための仕組み)を追加する。
↓
providers セクションにプロバイダを追加する。
4、Adminモデルにも諸々追記
Authenticatableトレイトとは?
Illuminate\Foundation\Auth\Userトレイトは Laravel でユーザー認証を実装するための基本的な機能を提供するトレイトで、このトレイトはIlluminate\Auth\Authenticatableトレイトを使用している。
Authenticatableトレイトを使用することで、Laravel の認証機能が適切に機能する。
HasApiTokensとは?
外部のサービスやAPIとの通信において、アプリケーションがユーザーを識別し、認証するための手段。
通常、APIトークンはユーザーがログインした後に発行され、リクエストごとに送信される。
トークンはリクエストのヘッダーやリクエスト パラメーターとして含まれ、サーバーはトークンを検証してユーザーを認証する。
API トークンはセッションを使用せず、通常は長寿命で、ユーザーの認証情報を保持する。
Notifiableとは?
通知機能を提供する。
通知はメール、データベース、Slack など、さまざまなチャンネルで送信できる。
これにより、アプリケーション内でイベントが発生した場合にユーザーや他のシステムとコミュニケーションすることができる。
例えば、パスワードリセットの通知などが Notifiable を使用している。
5、config/app.phpにサービスプロバイダ追記
↑でuseしたHasApiTokens、Notifableのプロバイダを追記
],
【レイアウトでデータを使用表示したい場合】
ちなみに、Middleware/HandleInertiaRequests.phpに以下のuser、companyを書いておくと
コントローラーからデータを渡さなくても、vue内のscriptに
テンプレート内に
{{ $page.props.auth.company.name(カラム名) }} 様
という感じで使用して表示できる。