Аутентификация Cakephp Digest не работает в браузере Chrome

Я запускаю cakephp 2.6 и веб-сервер xamp, и я пытаюсь заставить Digest Auth работать с cakephp.

Когда я использую, он постоянно спрашивает имя пользователя и пароль. Я не уверен, что не так или как это исправить. Я не нашел туториал о том, как использовать дайджест-аутентификацию в cakephp.

Я следовал руководству в руководстве по cakephp;

http://book.cakephp.org/2.0/en/core-libraries/components/authentication.html

Контроллер приложений

public $components=array(
'Session',  'Security',
'Auth'=>array(
    'loginRedirect'=>array('controller'=>'users','action'=>'index'),
    'logoutRedirect'=>array('controller'=>'users','action'=>'index'),
    'authError'=>'Access Denied: You are not authorized to view that page.',
    'authorize'=>array('Controller'),       
    'authenticate' => array('Digest')
    )
);

Есть идеи, что не так?


person fuzzy dunlop    schedule 27.03.2015    source источник


Ответы (1)


Я не пробовал это в «торте», но наличие этого кода в моем контроллере приложения (внутри beforeFilter() ) работает для меня.

        if (!isset($_SERVER['PHP_AUTH_USER'])) {
            header('WWW-Authenticate: Basic realm="Your Realm"');
            header('HTTP/1.0 401 Unauthorized');
            echo 'Ops!! Smth wrong';
            exit;
        } else {
            $hash = 'sha512 hash of your password with cakes salt';
            if ($_SERVER['PHP_AUTH_USER'] == 'your_username' && Security::hash($_SERVER['PHP_AUTH_PW'], 'sha512', true) == $hash) {
                ;
            } else {
                header('WWW-Authenticate: Basic realm="Your Realm"');
                header('HTTP/1.0 401 Unauthorized');
                echo 'Ops!! Smth wrong';
                exit;
            }
        }
person dav    schedule 27.03.2015