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

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

新規登録して質問してみよう
ただいま回答率
85.48%
CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

Q&A

解決済

1回答

1011閲覧

cakephp3 ページURL

nerd

総合スコア37

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

0グッド

0クリップ

投稿2016/04/28 12:31

会員制のサイトをテスト的に構築しております。
その中で、ユーザーログインした時に自身のユーザーIDに紐づいた会社情報を編集したい場合
companies/edit/ユーザーに紐づいた会社ID
で編集できるようになりました。
user DB

  • id
  • name
  • comapnies_id (int)

ですが、ユーザーに紐づいた会社IDが数字になっているため
変更するとほかの会社の情報が表示されてしまいます。
これを防ぐための手段としてはどのような形をとればよろしいでしょうか。

初歩的なご質問で恐縮ではありますがご教授お願いいたします。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

よくわかりませんが…
user DB に該当 comapnies_id が設定してある人しか
編集できないみたいな制限をかけるんでしょうかねえ。
そういうマスタ的なものを編集できる権限を持った
ユーザを設定して、その人しか編集できないようにする
ってのが一般的な気がします。

投稿2016/04/28 13:07

takasima20

総合スコア7458

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nerd

2016/04/28 13:41

ご回答ありがとうございます。 わかりにくくて申し訳ございません。 ユーザーがログインした後に、自身の登録メールアドレスなどを編集するページを想定しています。 編集ページに入ったときのURLが edit/id このIDを主導で変更すると別の情報が表示(編集可能)になってしまいます。 編集権限の持たせ方がわかっていません。 ページ遷移する前に制御することは可能だとは思うのですが、ページ遷移後ユーザが手動でURLのID部分を変更した場合の制御法がわかりませんでした。
takasima20

2016/04/28 14:08

ひょっとして、user DB と一対一に対応する会社情報テーブルがあって それを編集するときの話ってことでしょうか。(*1) 案1) 編集処理の先頭で、そのユーザーの会社IDでなかったらエラーとする。 エラー画面には元の画面に戻るリンクなりボタンを設置 案2) ユーザーに紐づいた会社ID をGETでなくPOSTで渡す。 案3) ユーザ情報(テーブル)から会社IDを得て、処理を実行する。 (*1) が前提なので違ったら…
nerd

2016/04/29 00:54

ご回答ありがとうございます。 まさにその通りでございます。 以下みたいな形で大丈夫なんでしょうか? `` $session = $this->request->session(); $comp_id = $session->read('Auth.User.company_id'); if($id != $comp_id){ $this->redirect(['action' => 'index']); }else{   実際の処理内容 } `` ご教授いただいた内容でいきたいと思います。 ありがとうござました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問