質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

解決済

ユーザー毎に暗号鍵をもった場合の理想的なMVCモデルについて

no1knows
no1knows

総合スコア3029

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

1回答

0評価

0クリップ

758閲覧

投稿2019/05/29 03:20

実現したいこと

ユーザーIDに紐付いた暗号鍵を利用してアプリを作成した場合、どのようにすればRails的というか理想的なMVCモデルが構築ができるのでしょうか?

前提

  • Deviseを利用してユーザー管理を行っています。
  • ユーザーIDに紐付いた暗号鍵をyamlデータに保存しています。
  • 暗号化、復号には、ActiveSupport::MessageEncryptorを利用します。(参考サイト①)
  • 多くのモデルで暗号化の必要があるカラムがあります。(個人情報や銀行口座情報などで必須条件)

実現したこと

モデルからコントローラーの変数(current_user.id)を取得。(参考サイト②)
その変数を基に、yamlに保存してある暗号キーを取得して、暗号化、復号を行いました。(参考サイト①)

気になったこと

参考サイト②で「少なくともRailsのルールを基準として考えると、モデルからコントローラーの変数を取得するというアプリのデザインがそもそも間違っている」という記載がありました。
その考え方は、なんとなく分かるのですが・・・

参考サイト

①暗号化・復号の手順(ActiveSupport::MessageEncryptor利用)

A simple way to encrypt and decrypt in Rails 5
https://medium.com/@mayneweb/a-simple-way-to-encrypt-and-decrypt-in-rails-5-9a514645d066

②モデルからコントローラーの変数を取得する

Ruby on Rails - Access controller variable from model
https://stackoverflow.com/questions/2419120/ruby-on-rails-access-controller-variable-from-model

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。