0

Ion Auth では、基本的にログインに使用されるデータベース列である ID を選択できます。Ion Auth で ID 用に 2 つのデータベース列を選択できるようにしたいのは、ユーザーが Twitter の仕組みと同様にユーザー名または電子メールのいずれかを使用してログインできるようにするためです。どうすればいいですか?以下は、私が達成しようとしているもののサンプルコードです:

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

ご覧のとおり、ユーザー名と電子メールの両方が必要ですが、構成に両方を追加する方法がわかりません。

4

2 に答える 2

2

の login メソッドで、次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 に答える