Movatterモバイル変換


[0]ホーム

URL:


はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマーク
  • テクノロジー
  • パーフェクトRails著者が解説するdeviseの現代的なユーザー認証のモデル構成について - joker1007’s diary
  • Twitterでシェア
  • Facebookでシェア

気に入った記事をブックマーク

  • 気に入った記事を保存できます
    保存した記事の一覧は、はてなブックマークで確認・編集ができます
  • 記事を読んだ感想やメモを書き残せます
  • 非公開でブックマークすることもできます
適切な情報に変更

エントリーの編集

loading...

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。

タイトルガイドライン

このページのオーナーなので以下のアクションを実行できます

タイトル、本文などの情報を
再取得することができます
コメントを非表示にできますコメント表示の設定

ブックマークしました

ここにツイート内容が記載されますhttps://b.hatena.ne.jp/URLはspanで囲んでください

Twitterで共有

ONにすると、次回以降このダイアログを飛ばしてTwitterに遷移します

672usersがブックマークコメント57

    ガイドラインをご確認の上、良識あるコメントにご協力ください

    0/0
    入力したタグを追加

    現在プライベートモードです設定を変更する

    おすすめタグタグについて

      よく使うタグ

        パーフェクトRails著者が解説するdeviseの現代的なユーザー認証のモデル構成について - joker1007’s diary

        ガイドラインをご確認の上、良識あるコメントにご協力ください

        0/0
        入力したタグを追加

        現在プライベートモードです設定を変更する

        おすすめタグタグについて

          よく使うタグ

            はてなブックマーク

            はてなブックマークで
            関心をシェアしよう

            みんなの興味と感想が集まることで
            新しい発見や、深堀りがもっと楽しく

            ユーザー登録

            アカウントをお持ちの方はログインページ

            記事へのコメント57

            • 注目コメント
            • 新着コメント
            t-wada
            暗黙のJSON変換を使わず明示的なシリアライザを使う(JSONもViewなので当然)。テーブルを分け、リソースも分ける。安易に簡単さに流されず、それでも手数はそこまで増やさない達人のアプローチ

            その他
            koyancya
            やりたくなるこれw->“固定でエラーメッセージを返すエラーハンドラとかなら問題無いと思いますが、余計なお節介としてエラーになったオブジェクトの情報も付けとくか、とか思ってしまうと死ぬので気は使いましょう

              その他
              takahashim
              “Railsは良くも悪くもRDBと密結合したフレームワークなので、まずテーブル構成からしっかりやっておけば、それなりに安全性が上がります”

                その他
                yojik
                自分はサーバで全てHTMLにレンダリングしてる時代はDTO(的なもの)に懐疑的だったが、WebAPIで何か返すときは出力用モデルへの変換は必須だと考えます。暗黙的に秘匿情報自動フィルタリングに至っては逆に危険な気がする

                  その他
                  june29
                  「モデルを分けましょう」は大賛成。サンプルコードが添えてあってさすがパーフェクト先輩です。

                  その他
                  HolyGrail
                  deviseを利用するしないに関わらずめちゃくちゃためになるエントリだった

                    その他
                    takc923
                    deviseの防衛策が入る前のバージョン使ってIPアドレスがアレした可能性あるんじゃないかと思って見てみたけどcommitされたの2012年だしnoteのサービス始まったの2014年だったから関係ないわ

                      その他
                      stealthinu
                      ユーザ認証のテーブル自体を認証方式ごとに作ってUserテーブル直にそのサービスごとの情報を持つべきではないという設計方針。なるほど。

                      その他
                      iga_k
                      コードが添えてあるのでさすがjokerさん

                      その他
                      tmtms
                      “Railsがどういうフレームワークとして成り立ってきたかということと現代的なWebアプリケーションの実装におけるモデル構造とが乖離してきており、現代的なモデル構成が取れていないという点に問題の根幹がある”

                        その他
                        stosto826
                        “ フロントサイドでも明示的に必要な情報だけをくれ、とサーバーサイドに要求することは出来ます。それにはGraphQLが使えます。GraphQLではフロント側から明示的に必要な属性値を列挙してリクエストを行うため余計な情報

                          その他
                          ryosuke-fujii
                          「Userというとにかく肥大化しがちで絶対に失ってはいけないレコードに、一時的な要求でしか使わない情報を持たせるのはほとんどの場合で悪手でしょう。」

                          その他
                          Nilfs
                          ユーザー認証のモデル構成を開設している。用途別にそれぞれ分解していくのは良いかもしれない

                          その他
                          rodov64683
                          Well, this got me thinking what other workouts are good for those of us.https://www.shwetachopra.com/https://www.alinachopra.com/delhi-escorts-whatsapp-photo.html

                            その他
                            YassLab
                            “サーバーサイドという自分達の環境に情報を閉じ込めておけないので、サーバーサイドでデータを取り扱うのに比べて、何を持つべきで何を持つべきでないのかを遥かにセンシティブに考える必要があります。”

                              その他
                              griefworker
                              Userモデルを分割するアプローチ。

                              その他
                              juve534
                              認証周りは最初に作るし、心理的にリファクタリングしづらい

                              その他
                              hiromichinomata
                              Railsエンジニアはそういうものと諦めてるけどDjangoやASP.NETは組み込みのユーザー認証あるしフレームワークがちゃんとユーザーモデルサポートしてもいいと思う

                                その他
                                ota42y
                                この認証ごとにbelongs_toするやつ、私も最近実践してるけどめっちゃおすすめ⊂(・8・)⊃ (超わかりやすく説明していてさすが)

                                  その他
                                  diveintounlimit
                                  さすが熟れている…

                                    その他
                                    rryu
                                    このクレデンシャルなどの非公開情報を別テーブルにする方式はRails3の頃から出ていた気がするのだが、一般的になっていないのは非公開情報だと把握できていればそこまでする必要はないということなのかもしれない。

                                    その他
                                    daira4000
                                    モデルの分け方参考になる

                                    その他
                                    luccafort
                                    Deviseは責務てんこ盛りなのでちゃんと綺麗に責務を分割するだけでこうなるんだよ!というお手本のようなコードで勉強になった。

                                    その他
                                    nilab
                                    パーフェクトRails著者が解説するdeviseの現代的なユーザー認証のモデル構成について - joker1007’s diary

                                      その他
                                      Jullie
                                      Fantastic post however I was wondering if you could write a little more on this topic? I’d be very grateful if you could elaborate a little bit further. Many thanks!http://bit.ly/39bkvC0https://www.dehradunescortsservices.com

                                        その他
                                        tkmkg8m
                                        センシティブな情報と常に必要というわけじゃない情報はテーブルからわけといたほうが安全よね。あと暗黙的な処理はやっぱりバグや脆弱性の温床なのでなるべくなくしたいところ。

                                          その他
                                          ravelll
                                          “Railsは良くも悪くもRDBと密結合したフレームワークなので、まずテーブル構成からしっかりやっておけば、それなりに安全性が上がります。”

                                            その他
                                            fashi
                                            「登録途中という状態をUserモデルに持たせない」「これらのレコードは用事が終わった時点で完全に削除することができます」「テーブルごと作り直しても致命的な問題になり辛くなります」

                                            その他
                                            irasally
                                            肥大化を防ぐのにテーブルを分ける、なるほど。devise便利なんだけど扱いきれない時があるのでとてもためになる。

                                              その他
                                              ritou
                                              Qiitaを見てると初学者はUserテーブルにどんどん追加していき、null許可されてなくてランダムな値で茶を濁したりするのでもっと言語やフレームワークを越えたレイヤーで知見を集める必要がある。

                                                その他
                                                ainame
                                                良い話だった

                                                  その他
                                                  sho
                                                  DBを分けろというのは良いプラクティス

                                                  その他
                                                  efcl
                                                  DBから取得したモデルデータをそのままJSONとしし返してしまう問題の対策について。許可リスト方式によるレスポンスの定義、取得側のクエリでの最小限の取得について。 DBテーブルで分けておく工夫について、Userテーブ

                                                  その他
                                                  murashit
                                                  いいこと書いてある

                                                  その他
                                                  Magicant
                                                  この説得力 > Userというとにかく肥大化しがちで絶対に失ってはいけないレコードに、一時的な要求でしか使わない情報を持たせるのはほとんどの場合で悪手でしょう

                                                  その他
                                                  uva

                                                    その他
                                                    tohokuaiki
                                                    結構なAPIで「JSONドバー」でやばい情報入っちゃってるのあると思ってる。見つからないだけで。

                                                    その他
                                                    y_hirano
                                                    Railsを仕事で触り始めたけど、なんとなく前時代だなーという感じはしていた。なるほど、この辺がそう思わせる理由だったのか…。かといって、他のフレームワークならマシ、ってこともなさそうなのよね。

                                                      その他
                                                      tettekete37564
                                                      認証部分なの?単にポストされた投稿データを受け取ったときのログ情報じゃね?フロントに投げてしまってもフロントが何か処理しないと埋め込まれない(覗き見はできるが)と思うのだがダンプでもしてたのけ?

                                                        その他
                                                        kinushu
                                                        「余計なお節介としてエラーになったオブジェクトの情報も付けとくか、とか思ってしまうと死ぬので気は使いましょう。」ですよね…!

                                                        その他

                                                        注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

                                                        リンクを埋め込む

                                                        以下のコードをコピーしてサイトに埋め込むことができます

                                                        プレビュー
                                                        アプリのスクリーンショット
                                                        いまの話題をアプリでチェック!
                                                        • バナー広告なし
                                                        • ミュート機能あり
                                                        • ダークモード搭載
                                                        アプリをダウンロード

                                                        関連記事

                                                          usersに達しました!

                                                          さんが1番目にブックマークした記事「パーフェクトRails...」が注目されています。

                                                          気持ちをシェアしよう

                                                          ツイートする

                                                          パーフェクトRails著者が解説するdeviseの現代的なユーザー認証のモデル構成について - joker1007’s diary

                                                          最近、パーフェクトRuby onRailsの増補改訂版をリリースさせていただいた身なので、久しぶりにRailsに...最近、パーフェクトRuby onRailsの増補改訂版をリリースさせていただいた身なので、久しぶりにRailsについて書いてみようと思う。 まあ、書籍の宣伝みたいなものです。 数日前に、noteというサービスでWebフロント側に投稿者のIPアドレスが露出するという漏洩事故が起きました。これがどれぐらい問題かは一旦置いておいて、何故こういうことになるのか、そしてRailsでよく使われるdeviseという認証機構作成ライブラリのより良い使い方について話をしていきます。 (noteRailsを使っているか、ここで話をするdeviseを採用しているかは定かではないので、ここから先の話はその事故とは直接関係ありません。Railsだったとしても恐らく使ってないか変な使い方してると思うんですが、理由は後述) 何故こんなことが起きるのか そもそも、フロント側に何故IPアドレスを送ってんだ、という話です

                                                          ブックマークしたユーザー

                                                          • stosto8262025/01/30stosto826
                                                          • karia2024/10/31karia
                                                          • kazuhi_ra2024/09/10kazuhi_ra
                                                          • machidacity2024/06/09machidacity
                                                          • xmobile2024/05/04xmobile
                                                          • seapig_dolphin2024/05/04seapig_dolphin
                                                          • dev2bo2024/04/30dev2bo
                                                          • tyosuke20112024/03/26tyosuke2011
                                                          • ryosuke-fujii2023/06/10ryosuke-fujii
                                                          • xkoh2023/02/18xkoh
                                                          • techtech05212022/09/29techtech0521
                                                          • YukiWatanabe2022/08/12YukiWatanabe
                                                          • Nilfs2022/01/17Nilfs
                                                          • Chiastolite2021/08/18Chiastolite
                                                          • kawasin732021/04/21kawasin73
                                                          • d_animal1412021/03/16d_animal141
                                                          • rodov646832021/03/10rodov64683
                                                          • rikuba2021/03/07rikuba
                                                          すべてのユーザーの
                                                          詳細を表示します

                                                          ブックマークしたすべてのユーザー

                                                          同じサイトの新着

                                                          同じサイトの新着をもっと読む

                                                          いま人気の記事

                                                          いま人気の記事をもっと読む

                                                          いま人気の記事 - テクノロジー

                                                          いま人気の記事 - テクノロジーをもっと読む

                                                          新着記事 - テクノロジー

                                                          新着記事 - テクノロジーをもっと読む

                                                          同時期にブックマークされた記事

                                                          いま人気の記事 - 企業メディア

                                                          企業メディアをもっと読む

                                                          はてなブックマーク

                                                          公式Twitter

                                                          はてなのサービス

                                                          • App Storeからダウンロード
                                                          • Google Playで手に入れよう
                                                          Copyright © 2005-2025Hatena. All Rights Reserved.
                                                          設定を変更しましたx

                                                          [8]ページ先頭

                                                          ©2009-2025 Movatter.jp