0

Ion Auth 允许您选择一个身份,该身份基本上是用于登录的数据库列。我希望能够在 Ion Auth 中为我的身份选择两个数据库列,因为我希望用户使用他们的用户名或电子邮件登录,类似于 Twitter 的工作方式。我该怎么做呢?以下是我要完成的示例代码:

<?php
$config['identity'] = 'email && username'; // A database column which is used to login with ion auth
?>

如您所见,我想要用户名和电子邮件,但我不知道如何在配置中添加两者。

4

2 回答 2

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']);
}
于 2013-06-29T00:51:01.133 回答
1

您必须修改库的核心才能实现这一点。如果您不知道该怎么做,请向 Ben Edmunds 寻求帮助,我相信他会知道的。

于 2012-10-31T14:32:02.107 回答