我正在使用Auth和authenticate Basic。 有没有办法检查用户是否处于活动状态= 1? 我想检查一下Form和Basic方法。 当用户从通过http标头发送用户名和密码的iphone应用程序登录时,使用Basic方法。
public $components = array('Session', 'RequestHandler', 'Auth' => array(
'loginAction' => array(
'controller' => 'api',
'action' => 'login'
),
'authenticate' => array(
'Basic' => array(
'userModel' => 'Appuser',
'fields' => array(
'username' => 'name'
)
),
'Form' => array(
'userModel' => 'Appuser',
'fields' => array(
'username' => 'name'
)
)
)
));
答案 0 :(得分:1)
使用AuthComponent的scope
设置并使用ALL
常量设置它:
public $components = array(
'Auth' => array(
'loginAction' => array(
'controller' => 'api',
'action' => 'login'
),
'authenticate' => array(
AuthComponent::ALL => array( // Use this to apply common settings
'userModel' => 'Appuser',
'fields' => array(
'username' => 'name'
),
'scope' => array(
'Appuser.active' => 1 // This is the check you need
)
),
'Basic',
'Form'
)
)
);
有关详细信息,请参阅this section in the book。