laravel8でログインしたユーザにのみファイルをダウンロードさせる。ついでに購入処理(NOT決済処理)も入れてみた。

laravel8でログインしたユーザにのみファイルをダウンロードさせる。ついでに購入処理(NOT決済処理)も入れてみた。

前回の続き

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

1, 公開ディレクトリは止める。

これだと公開ディレクトリになっちゃうので、とりあえずシンボリックリンクを外す。
artisanに削除コマンドはないので、手動で消す。

2, ダウンロード処理を書く
UploadController.php

3, 画面のリンク先を変更
user.blade.php

これでログインしていない一般ユーザがURLにアクセスしても、ログイン画面に飛ばされるだけ。
ここまで出来たら、購入済みファイルだけダウンロード出来るようにしたいね。

3, 購入機能を作る(NOT決済)

routes/web.php

app/Models/Purchase.php

まだ購入していなければ「購入する」
購入済みなら「ダウンロード」
user.blade.php

5, 未購入のファイルをダウンロードしようとしたら、はじく処理を追加
UploadController.php

これで、購入したユーザでログインしていないとダウンロード出来ないようになった。
ここまで来たら、決済処理を入れたくなるよな~。