Auth :: регистрация в литии с uploadify - PullRequest
1 голос
/ 08 февраля 2012

У меня есть контроллер, который обрабатывает загруженные файлы с помощью uploadify. Проблема в том, что Auth::check('default') всегда возвращает null . Поэтому я не могу проверить, вошел ли пользователь в систему и авторизован ли для загрузки.

class UploadController extends \app\controllers\AppController {

    // this works perfect, the auth configuration is printed out
    public function index() {
        $auth = Auth::check('default');
        print_r($auth);
    }

    // this doesnt work
    public function uploadify() {
        $auth = Auth::check('default');
        print_r($auth); // always empty!
        ...
    }
}

Функция uploadify вызывается с помощью uploadify. Я попытался отследить проблему, но закончил в StaticObject::_filter, где следующее выражение if возвращает true:

if (!isset(static::$_methodFilters[$class][$method])) {...}

Это отличается от вызова index(), когда , если заявление не выполнено. Но я понятия не имею, что там сделано.

1 Ответ

2 голосов
/ 10 февраля 2012

Thx to # li3 я получил эту работу с http://www.uploadify.com/forums/discussion/43/using-sessions-tricking-basic-authentication/p1

В представлении я использовал scriptData:

'scriptData': { 'PHPSESSID': '<?php echo(session_id()); ?>'},

и в контроллере:

public function uploadify() {
  $id = $_POST['PHPSESSID'];
  session_id($id);
  session_start();
  $auth = Auth::check('default');
  if ($auth == null) {
      return $this->response->status = array('code' => 401, 'message' => 'Unauthorized');
  }
  ...
}
...