EGO-LOG

40代2児の父。主にプログラム学習と開発、仮想通貨、メタバース、たまに関係ないことを綴る。

Laravel.22 ログイン状態による制限.続

■前回までのあらすじ

  • breezeでユーザ認証機能実装
  • ログイン画面、ユーザ登録、ユーザ登録時に認証メールが送信されることを確認
  • ホーム画面をWelComeページから対象のページ(今回は掲示板)に変更
  • メール認証が済んでいない場合は機能を制限したい(今回なら掲示板の参照はできるが書き込みは不可)←これができてない

 

■メール認証を必須とするなら可能

web.php

-Route::resource('/thread', 'App\Http\Controllers\ThreadController')

+Route::resource('/thread', 'App\Http\Controllers\ThreadController')->middleware(['auth', 'verified']);

とすると、メール認証していない状態でページを表示すると、

f:id:tenomeuonome:20220412014619p:plain

が表示される。認証メールから認証すませればページが表示できる。

だが、今回やりたいのはページは表示できるが機能は制限される、というもの。

 

■ログファイルを日付別に出力

セッションの内容をログ出力してみたのだが、ファイルがstorage\logs\laravel.log1本に出力されるのが標準。

日別に出力するには、

qiita.com

config\logging.php

-'channels' => ['single'],

+'channels' => ['daily'],

で日別に出力されるのを確認。

 

■ログイン時のセッション値

ログイン直後に $request->session()->all() を出力したところ、

メール認証日時等は持っていなかった。

 

■投げた

teratail.com

 

どうにも進まないので投げた。

アカウント間違えた・・

teratailは質問削除できないんだなー、まあいいか

 

回答お待ちしております。

 

続く