CakePHP, загрузка файлов и непоследовательная аутентификация - PullRequest
0 голосов
/ 11 августа 2011

У меня есть приложение, встроенное в CakePHP, которое выполняет загрузку файлов. Для каждой загрузки файла я знаю идентификатор пользователя, поэтому извлекаю его из $ this-> Auth-> user ()

Теперь я обнаружил, что когда я нахожусь на странице, я буду загружать файлы при входе в систему, но иногда, когда я печатаю $ this-> Auth-> user (), он ничего не возвращает, а затем следующий Когда я попытаюсь загрузить файл, он вернется, и все это без входа в систему или выхода из нее. Это кажется крайне непоследовательным, потому что иногда оно там, но иногда оно не видит.

Чего мне не хватает? Спасибо!

Ответы [ 2 ]

0 голосов
/ 12 августа 2011

Вы также всегда можете получить информацию пользователя из сеанса, созданного AuthComponent. Если $ this-> Auth-> user ('id') пусто ... Мне интересно, существует ли на самом деле допустимый сеанс! Вы уверены, что не вышли из системы за это время, и страница по какой-то причине не требует входа?

0 голосов
/ 11 августа 2011

Почему бы не установить переменную в вашем app_controller равной $this->Auth->userModel, чтобы она была доступна для остальной части приложения.

В моем app_controller я вызываю нижеследующее в before_filter для установки $current_user.

/**
 * Sets a value for current user $current_user.
 * @return boolean
 */
function __setCurrentUser() {
    $user = null;
    if ($user = $this->Auth->user()) {
        $this->set('current_user', $user[$this->Auth->userModel]);
        return true;
    } else {
        return false;
    }
}

В другом месте моего приложения я могу получить доступ к идентификатору $current_user через $current_user['id'].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...