Ion Auth允许您选择一个基本上是用于登录的数据库列的标识。我希望能够在Ion Auth中为我的身份选择两个数据库列,因为我希望用户使用类似于Twitter工作方式的用户名或电子邮件进行登录。我该怎么做呢?下面是我想要完成的示例代码:
<?php
$config['identity'] = 'email && username'; // A database column which is used to login with ion auth
?>
正如您所看到的,我想要用户名和电子邮件,但我不知道如何在配置中添加两者。
答案 0 :(得分:2)
在ion_auth_model.php
中,在登录方法中,紧跟在此代码之后:
$query = $this->db->select($this->identity_column . ', username, email, id, password, active, last_login')
->where($this->identity_column, $identity)
->limit(1)
->order_by('id', 'desc')
->get($this->tables['users']);
添加以下代码:
if($query->num_rows() == 0){
$query = $this->db->select($this->identity_column . ', username, email, id, password, active, last_login')
->where('username', $this->db->escape_str($identity))
->limit(1)
->get($this->tables['users']);
}
答案 1 :(得分:1)
您必须修改库的核心才能实现这一目标。如果您不知道该怎么做,请向Ben Edmunds寻求帮助,我相信他会知道的。