usersテーブルにdeletedというカラムを持っているとして、
認証時にusername,password以外に、
deleted=0の場合のみ認証するという条件を追加する設定。
CakePHP3.1からは以下のような設定が必要っぽい。
cakephp\src\Controller\AppControllerでの設定
$this->loadComponent('Auth', [ 'authenticate' => [ 'Form' => [ 'fields' => [ 'username' => 'username', // ユーザー名のカラムを指定 'password' => 'password' // パスワードに使うカラムを指定 ], 'finder' => 'Auth', // UsersTableに追加するメソッド名? ] ], ...以下略
cakephp\src\Model\Table\UsersTableに以下メソッド追加
public function findAuth(\Cake\ORM\Query $query, array $options) { $query->where(['Users.deleted' => 0]); return $query; }