2013-02-13 4 views
0

У меня есть приложение, написанное в Kohana 3.0 с использованием собственных сессий. Менее 1% моих пользователей данные сеанса теряются при перенаправлении.Данные сеанса, потерянные при перенаправлении - Kohana 3.0

В этом случае пользователь не может войти в систему с помощью любого браузера на своем компьютере. Однако они могут войти на другой компьютер. Кажется, они все находятся на ОС Windows, но разные версии.

Это автономное приложение, но теперь оно запускается (в новом окне) через другой веб-сайт для подмножества пользователей. У этой проблемы есть только те пользователи.

Я не могу воссоздать проблему и думаю, что она имеет какое-то отношение к компьютерам пользователей. Существует ли какое-либо антивирусное программное обеспечение или что-нибудь, что мешает работе с данными сеанса?


Моя сессия конфигурации является:

'native' => array(
'name' => 'myappname', 
'encrypted' => TRUE, 
'lifetime' => 1209600, 
), 

Я добавил много отладки лесозаготовок и пользователь, который потерял данные сеанса здесь:

2013-02-04 20:09:16 --- DEBUG: EC ******* start login - IP = 67.255.224.46 
2013-02-04 20:09:16 --- DEBUG: EC cgl/user - logged in = 1 - IP = 67.255.224.46 
2013-02-04 20:09:16 --- DEBUG: EC cgl/user ------- before redirect - user = 5 - logged in = 1 - redirect = bookshelf - $_SESSION = id = 431a0b849f91a37d29b58a23bf130fe9 [ auth_user=>12874 ] - IP = 67.255.224.46 
2013-02-04 20:09:16 --- DEBUG: bookshelf/before ~~~~~ NO USER = 0 - logged in = 0 - $_SESSION = id = d502f35a37c7af525c1bda5476c9daac [ ] - IP = 67.255.224.46 
2013-02-04 20:09:17 --- ERROR: You must log in to see this page. $_SESSION = id = 66bf60812be3f6b5e3c1df42916e7f18 [ ], IP = 67.255.224.46 

«до редиректа» является непосредственно перед моим Request::instance()->redirect('bookshelf'); «Книжная полка/до» находится в моем методе управления до этого.

Пользователь, который не потерять данные сеанса журналы, которые выглядят следующим образом:

2013-02-04 14:17:53 --- DEBUG: EC ******* start login - IP = 98.89.106.34 
2013-02-04 14:17:53 --- DEBUG: EC cgl/user - logged in = 1 - IP = 98.89.106.34 
2013-02-04 14:17:53 --- DEBUG: EC cgl/user ------- before redirect - user = 5 - logged in = 1 - redirect = bookshelf - $_SESSION = id = 227e70d49c796ce03dc9f52d8a7b571e [ auth_user=>13246 ] - IP = 98.89.106.34 
2013-02-04 14:17:53 --- DEBUG: EC bookshelf/before - logged in = 1 - $_SESSION = id = 227e70d49c796ce03dc9f52d8a7b571e [ auth_user=>13246 last_active=>1360005473 ] - IP = 98.89.106.34 
2013-02-04 14:17:53 --- DEBUG: EC bookshelf/index - logged in = 1 - $_SESSION = id = 227e70d49c796ce03dc9f52d8a7b571e [ auth_user=>13246 last_active=>1360005473 school_id=> ] - IP = 98.89.106.34 
+0

Не могли бы вы пояснить свое определение автономного приложения? Когда он запускается в новом окне, это от пользователя, нажимающего на другой веб-сайт? Также вы можете посмотреть, связано ли это. http://stackoverflow.com/questions/1324181/ie8-losing-session-cookies-in-popup-windows –

+0

Для исходного приложения пользователь переходит на веб-сайт, регистрируется и переадресовывается на книжную полку. Как часть другого приложения, пользователь регистрируется на своем веб-сайте и нажимает ссылку на наше приложение. Наше приложение запускается в новом окне, и пользователь автоматически регистрируется и перенаправляется на книжную полку. – Emily

ответ

1

Я была такая же проблема с сессиями в Kohana 3.3. Я решил это, изменив, 'encrypted' => FALSE в моей конфигурации/session.php. Как это ...

'database' => array(
     'name' => 'session_database', // Make sure the name is unique for each session type 
     'encrypted' => FALSE, 
     'lifetime' => 43200, // 43200 is 12hrs session time 
     'group' => 'default', 
     'table' => 'sessions', 
     'columns' => array(
      'session_id' => 'session_id', 
      'last_active' => 'last_active', 
      'contents' => 'contents' 
     ),