2010-02-08 1 views
2

Я пытаюсь сделать модуль Auth «запоминать» пользовательский сеанс с помощью флажка на странице входа. Что происходит, так это то, что cookie не создается, а обычно сеанс. Я заметил таблицу user_tokens, но не вижу никакого использования методов модели user_token. Я передаю (bool) TRUE в качестве третьего параметра в login(), но нет никакой разницы.Помните сеанс с модулем Auth?

Является ли эта функция полной или я должен добавить свою собственную, заменив метод login() Model_Auth_User?

Какова наилучшая практика для этого?

ответ

3

Answer from the Kohana forum (credit to biakavero) вставили здесь для справки:

  1. вызова Auth::instance()->login() с $remember = TRUE
  2. DB Токен для текущего пользователя, созданного. Cookie authautologin сгенерирован.
  3. уничтожить объект пользователя: Session::instance()->delete('auth_user'); // dont call logout() method as it will delete cookie & token
  4. вызов Auth::instance()->auto_login() и проверить Auth::instance()->get_user() // should return Model_User object
+0

ни малейшего представления, почему это не будет работать на странице, которая составляет $ _POSTed к со вспышкой (SWFUpload)? – handsomeGun

+0

@handsomeGun, потому что swfupload не отправляет файл cookie для сеанса. Вам нужно передать его другим способом и, возможно, захватить его в своем скрипте и загрузить сеанс с помощью переданного ключа. –

+0

это именно то, что я сделал тогда. благодаря ;-) – handsomeGun