【发布时间】:2012-11-23 15:52:29
【问题描述】:
是否可以在 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 表中有不同的用户记录,这些用户具有相同的 username 和 password >。这看起来很奇怪,但在我的情况下是有道理的,因为同一个用户可能会出于不同的原因创建多个帐户,并且他可能会选择相同的用户名/密码。
任何想法将不胜感激!
编辑:
我将给出一个具体的例子来说明我正在尝试做的事情,也许它有助于带来一些想法。
假设我在 users 表中有这 2 条记录(字段是 user_id / username / password / account_id):
- 记录 1:1 / johndoe / password1 / 10
- 记录 2: 2 / johndoe / password1 / 15
所以这两条记录有相同的用户名和密码,但不同的 user_id 和 account_id。处理登录时,我知道用户选择了哪个 account_id。所以我想登录相应的用户。因此,如果用户选择帐户 15,那么日志就是,我应该使用 id 2 登录用户。
但是,cake 的登录方式是始终检索与用户名/密码匹配的第一条记录。在此示例中,cake 将使用 id 1 登录用户。
有什么方法可以做我想做的事吗?
【问题讨论】: