異なる条件でログインしたい

一般ユーザーと管理者とで使える画面を分けたいと考えています。
一般ユーザー用と管理者用でログイン画面をそれぞれに作成したのですが、管理者用ログイン画面でログインができませんでした。
良い方法をご存知ででしたら教えてください。よろしくお願いいたします。

(試したこと)
・Usersのデータベースに管理者Passwordの項目を追加しフォームを紐付けましたが、ログインを試すと「Invalid Password」と表示されログインができない。
・管理者用データベースを別途作成し、フォームで該当データを選択すると、動作を選択する項目で「Create new ~」しか選べませんでした(Sign the User Inを選択できない)。

すみません。訂正です。
(誤)Usersのデータベースに管理者Passwordの項目を追加しフォームを紐付けましたが、ログインを試すと「Invalid Password」と表示されログインができない。
(正)Usersのデータベースに管理者Passwordの項目を追加しフォームを紐付けましたが、ログインを試すと「Please input data.」と表示されログインができない。

こんにちは、hasumiと申します。

要は、こういう事ですよね??
ログイン画面から管理者なら管理者用の画面に行き、一般ユーザーなら一般ユーザー用の画面に行く。

もしこれで問題がなければ、めっちゃ簡単です。そんな深く考える必要性は皆無です。

やる事リストだけ下記に示しておきますね。

① Userのデータベース上にTRUE/FALSEの項目を作り、管理者ならTRUEに一般ユーザーならFALSEにします。

② ログインボタンを押して別のページに遷移する際のclick actionで下記の条件を付け加えます。


(ログインユーザーがTRUEの場合にページAに飛ぶ)
(ログインユーザーがFALSEの場合にページBに飛ぶ)

これだと、わざわざUserのデータベース上で色々と考えなくても
全く問題なく管理者ならページAに飛んで、一般ユーザーならページBに飛ぶはずです。

また、UserがTRUE/FALSEをいつデータに残すのか?についてですが、
これはアカウントを登録する際で問題ないかなと思ってます。

僕の場合であれば、
管理者用と一般ユーザー用でアカウント登録画面を分けています。

管理者用で登録をする際は、TRUEを入れて、
一般ユーザーで登録する際は、FALSEを入れる
このアクションができる様になるかと思います。

以上が僕のやり方ではありますが、もしご不明点などがあれば仰ってください。

1 Like


お返事が遅くなってしまい申し訳ございません。
また丁寧なご説明をいただきましてありがとうございました。
UserデータのManager欄がTrueの場合に、指定の管理者用ページに遷移することは成功したのですが、
Falseだった時に一般ユーザー用画面に遷移できませんでした。
ログイン画面で読み込みの◯がぐるぐるとしたままになります。
(もしくは一般ユーザー画面遷移を先に設定すると成功しますが、後から追加した管理者用ページ遷移は失敗。どちらかしか遷移しませんでした。)
もしも考えられる原因など思い当たるようでしたらお教えください。