cakephp验证基本只有效用户

时间:2014-02-21 10:57:58

标签: http cakephp authentication

我正在使用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'
                )
            )
        )
    ));

1 个答案:

答案 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