adminの管理画面を作って、ファイルアップロード機能を追加。一般ユーザがダウンロードできるようにしてみる。

adminの管理画面を作って、ファイルアップロード機能を追加。一般ユーザがダウンロードできるようにしてみる。

前回の続き

laravel8 + breezeで一般ユーザ・管理者のログインを分けてみる(usersテーブルに管理者フラグを追加するだけ)

1, welcome.blade.phpをコピペして、admin.blade.phpを作る

2, /adminに表示されるようにする。
routes/web.php

3, 管理者以外のユーザ一覧を表示する。
ふと思ったけど、laravel8のuserは、modelもmigrationも最初から用意されているのに、なぜUsercontrollerだけ無いのだろうか…。

AdminController.php

web.phpを書き換え

admin.blade.phpで、ユーザ一覧をテーブル表示する。
tailwind.cssを使ってみる

4, 管理画面からファイルのアップロード機能を追加する。

migrate

UploadController.php

admin.blade.php

5, ログインした一般ユーザから一覧表示&ログインできるようにする

app/Http/Controllers/Auth/AuthenticatedSessionController.phpで、ログイン後のリダイレクト先を指定する。

app/Http/Controllers/Auth/RegisteredUserController.phpで、新規作成ユーザの自動ログイン後のリダイレクト先も変更しておく。

routes/web.php

忘れがち!

resources/views/user.blade.php(admin.blade.phpをコピペ)
aタグにdownload属性をつけるのがミソ

一応できたけど、これだとURLを知っている人は誰でもダウンロード出来ちゃうな…。