タグ

ブックマーク / www.cherub.jp (1)

  • Railsでデータの権限設定:Thread.currentを使ってみる | ちぇらぶ

    Rails+deviseで稼働中のAPIに、ユーザー毎の権限設定を追加したい。 実装方法の背景 権限設定には大きく分けて2種類ある。と思う。 1.機能を制御するもの(主にcontrollerで制御する) 2.データを制御するもの(modelで制御しちゃいたい) 1はイメージしやすい。各APIを使う権限であり、controllerのメソッドを制御できれば良く、cancancan、pundit等のgemがある。 2は主に対象データのあるレコードが参照可能か、更新可能かを制御する。 例えば、ユーザーAは、itemモデルのid:1のデータを更新可で、id:2のデータは参照不可。ユーザーBはid:2だけ更新可のような。 2のようなデータ制御ができるgemを自分は知らない。そこで、current_userをmodelのdefault_scopeで使ってしまうことにした。 いや当はcontroller

    Railsでデータの権限設定:Thread.currentを使ってみる | ちぇらぶ
  • 1