じろう

2019年11月02日に参加

学習履歴詳細

[Laravel]Laravel(+Vue.js)でSNS風Webサービスを作ろう!5章終了

今日のYWT

やったこと

Laravel(+Vue.js)でSNS風Webサービスを作ろう

  • 5章 記事更新・削除・詳細表示を作ろう
    • ポリシーの登録
    • authミドルウェアを外す
    • cardを使って記事を表示し、それをindexにも使う
    • ポリシーについて調べる

わかったこと

Laravel

Policy

今回は、ログインしているユーザーのIDと記事のユーザーIDが一致した場合にだけdeleteアクションとupdateアクションを許可し、indexshowはログインしていなくても可能にするよう編集した。
そのような挙動を実現するためにPolicyを編集したので、これはRailsでいうコントローラに記述するbefore_action :authenticate_user!のようなものかと推測した。
しかし、日本語ドキュメントには

ゲートとポリシーは、ルートとコントローラのようなものであると考えてください。ゲートはシンプルな、クロージャベースのアプローチを認可に対してとっています。一方のコントローラに似ているポリシーとは、特定のモデルやリソースに対するロジックをまとめたものです。最初にゲートを説明し、次にポリシーを確認しましょう。
それに対し、ポリシーは特定のモデルやリソースに対するアクションを認可したい場合に、使用する必要があります。

とある。モデルに対するアクションの認可……これがコントローラのアクションに対する認可とどう違うのか?がいまいちよくわかっていない

次やること

  • MVCモデルの復習
PHP
Laravel

2020年09月15日(火)

2.6時間