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

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

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

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

Ruby on Rails

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

ログイン

ログインは、ユーザーがコンピューターシステムにアクセスするプロセスの事を呼びます。

Q&A

解決済

1回答

1083閲覧

Rails ログイン機構の実装方法 法人idと職員id モデルの関係性

morimori1231

総合スコア7

Ruby

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

Ruby on Rails

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

ログイン

ログインは、ユーザーがコンピューターシステムにアクセスするプロセスの事を呼びます。

0グッド

1クリップ

投稿2020/07/18 12:11

編集2020/07/18 15:36

Railsで業務の記録支援アプリを作成しようとしています。モデル設計をどのようにしたらよいかが分かりません。助言をお願いします。
以下のように考えています。

1.Companyテーブル
has_many :staff_members

2.StaffMemberテーブル
belongs_to :company
has_many :redords

3.Recordsモデル
belongs_to :StaffMember

・アプリへの登録は法人(Company)単位で行う・
・ログインできる職員(StaffMember)は法人登録時に管理権限を持つ職員を登録する。
・2人目以降は管理権限を持つ職員が職員の追加登録を行う。
・ログインした職員は法人のすべての記録を見ることができる。
company.staff_members.records 等で
・どの職員が記録した記録か検索することができる。
・他の登録した法人の記録は見ることはできない。

ログイン機構をどのように実装すればよいでしょうか?
法人idと法人パスワードでログインし、その後職員idと職員パスワードでログインすることは思い付きましたが、
一度にログインする方法等ないでしょうか?

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

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

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

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

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

guest

回答1

0

ベストアンサー

StaffMember に 法人IDが有るのですから、
StaffMember でLoginするだけでよいと思います。
(セキュリティを強化するもくてきで二回Loginさせるというのも有りかもしれませんが)

投稿2020/07/18 12:43

winterboum

総合スコア23376

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

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

morimori1231

2020/07/18 22:56

ありがとうございます。 2回ログインさせずに、法人idと職員id、パスワードの3つが一致した場合にだけログインできるようにするにはどのようにすればよいでしょうか?
winterboum

2020/07/18 23:09

loginの処理、多分 session の createだと思いますが、それの改造が必要なのはわかりますね? まず職員として認証して、OKだったら法人のチェックを行えばよいです。 失敗した時は「法人パスワードが違います」はNGです。 「ログイン名、パスワード、もしくは法人パスワードのどれかが違います」 です。
morimori1231

2020/07/18 23:22

ありがとうございます。 認証の順番は職員→法人の順番が良いのでしょうか? 重ね重ねすいません。
winterboum

2020/07/18 23:24

login画面で何を入れさせます? ログイン名、パスワード、法人パスワード ですよね?だと職員を同定しないとどの法人の法人パスワードなのかわからんでしょう
morimori1231

2020/07/18 23:33

すいません、ログイン画面では法人パスワードではなく、法人idと職員idとパスワードを入力する形を考えているんです。
winterboum

2020/07/18 23:45

ん? すると法人で有ることの確認の意味がわからないですが。 なんのために法人idを要求するのでしょう。 言い換えると 法人idの入力がないと、なにが困りますか?
morimori1231

2020/07/18 23:54

職員が記録した記録は法人内の職員だけ閲覧できるようにしたいんです。 逆に言うと、違う法人の記録は閲覧できないようにしたいんです。
winterboum

2020/07/19 00:04

それは、職員がどの法人に属しているかで判断できます。 company_id とか持ってますよね? 逆にそれがないと、他の法人idを打ち込んで他の法人のが見えてしまうから、絶対なきゃダメよ
winterboum

2020/07/19 00:04

StaffMemberテーブル belongs_to :company だから、あるね。
morimori1231

2020/07/19 00:46

職員としてログインできた時点で法人が特定されているから、法人パスワードを入力させるべきなんですね。 よく分かりました。ありがとうございます。
winterboum

2020/07/19 03:44

いや、わざわざ法人を特定する情報は入力させなくても良いでしょう ということで 法人パスワードも不要だと思います。 そういう多くの人に知らせる情報って、意味無いです
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問