
こんにちは。
現在システムを開発していて、ユーザー権限毎に使用できる機能に制限をかけるような機能を実装したいと思っています。
権限の一覧(実際に使用する権限名ではなく、例で書かせていただきます。)
・オーナー
・ブロック長
・店長
・店員
こういった形で紐付いております。
※ ユーザーは必ず1つの権限しか持てません。
※ 店長Aの中にいる店員Aは、店長Bの下にも存在する、ということはありません。
オーナーとブロック長は、1対n
ブロック長と店長は、1対n
店長と店員は1対n
のような関係性です。
各権限に機能の制限をかけるというのは、
オーナーがログインした場合、自分に紐づくブロック長〜店員まで全てのユーザーを見ることができる。
ブロック長がログインした場合、自分に紐づく店長〜店員まで全てのユーザーを見ることができる。
店長がログインした場合、自分に紐づく店員まで全てのユーザーを見ることができる。
店員がログインした場合、自分の情報だけを見ることができる。
というような形です。
このような機能を作ろうと思っているのですが、DBの組み方はどのように設計するかヒントを頂ければと思っております。
ユーザーテーブル id name email password ..
オーナーテーブル id user_id owner_name
ブロック長テーブル id user_id block_name owner_id
このような形で各権限毎にテーブルを作っていく形がいいのでしょうか?
どこか参考サイトなどご教授頂ければ幸いです。
よろしくお願いいたします

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/09/06 07:03
退会済みユーザー
2016/09/06 07:09
退会済みユーザー
2016/09/06 07:23
退会済みユーザー
2016/09/06 07:45