CakePHP 1.3では、 usersテーブルにユーザーのIDを指定してユーザーにログインすることはできますか?
ここで、「手動」ログインを行うために、これを行います(これは機能します)。
$this->data['User']['username'] = username;
$this->data['User']['password'] = password;
$this->Auth->login($this->data);
たとえば、login()関数の前に$ this-> data ['User'] ['user_id']を追加するなど、特定のユーザーを指定できるようにしたいと思います。(私はそれを試しましたが、機能しません)。
これを実行したい理由は、usersテーブルに、同じユーザー名とパスワードを持つユーザーの異なるユーザーレコードがあるためです。奇妙に思えますが、私の場合は理にかなっています。1人の同じユーザーがさまざまな理由で複数のアカウントを作成し、同じユーザー名/パスワードを選択する可能性があるためです。
どんなアイデアでも大歓迎です!
編集:
私がやろうとしていることの具体例を挙げようと思います。おそらくそれはいくつかのアイデアをもたらすのに役立つでしょう。
ユーザーテーブルにこの2つのレコードがあるとします(フィールドはuser_id /ユーザー名/パスワード/ account_idです):
- レコード1:1 / johndoe / password1 / 10
- レコード2:2 / johndoe / password1 / 15
したがって、この2つのレコードのユーザー名とパスワードは同じですが、user_idとaccount_idが異なります。ログインが処理されると、ユーザーが選択したaccount_idがわかります。そのため、対応するユーザーにログインしたいと思います。したがって、ユーザーがアカウント15を選択した場合、ログは次のようになります。ID2でユーザーにログインする必要があります。
ただし、ケーキのログインが機能する方法では、ユーザー名/パスワードに一致する最初のレコードを常に取得します。この例では、cakeはID1のユーザーにログインします。
やりたいことができる方法はありますか?