我已經將我的開發者Kohana服務器設置爲使用加密數據庫作爲默認會話類型。我還將其與Auth結合使用來實現用戶身份驗證。Kohana 3.2 - 數據庫會話在新頁面請求中丟失數據
現在我的用戶能夠正確地進行身份驗證,並且會話中存儲了身份驗證密鑰。我還在登錄過程中存儲了諸如用戶的名字和商業名稱之類的附加數據。
當我登錄功能是準備將用戶重定向到用戶的儀表板,我能正確地看到所有的數據,當我做$session::instance()->as_array();
(Array ([auth_user] => NRyk6lA8 [businessname] => Dudetown [firstname] => Matt)
)
只要我將用戶重定向到另一個頁面,$session::instance()->as_array();
爲空。
通過拋出Session :: instance()對象,我可以看到Session ID仍然相同。
雖然我看着我的數據庫表,但我沒有看到任何會話記錄被保存,我的會話表是空的。
我bootstrap.php中包含:
Session::$default = 'database';
Cookie::$salt = 'asdfasdf';
Cookie::$expiration = 1209600;
Cookie::$domain = FALSE;
和我session.php文件的配置文件看起來像:
return array(
'database' => array(
'name' => 'auth_user',
'encrypted' => TRUE,
'lifetime' => 24 * 3600,
'group' => 'default',
'table' => 'sessions',
'columns' => array(
'session_id' => 'session_id',
'last_active' => 'last_active',
'contents' => 'contents'
),
'gc' => 500,
),
);
我看着高和低的答案..如果任何人有任何建議,我所有的耳朵!
謝謝!
謝謝思南, 是的,我真的在Kohana論壇看到你的帖子,並實施Cookie :: $ domain = FALSE,但不幸的是它沒有工作。 我最初嘗試與我的'.domain.tld',但我不知道它是否工作正常,因爲我有我的服務器實例安裝在子目錄中,它仍然給我麻煩。 我將很快部署到轉換服務器,以便我可以儘快嘗試您的建議。 感謝您的意見,我會回覆此主題與我的調查結果 謝謝! – reado 2012-03-23 23:31:21
太棒了!現在我已經將我的加密設置整理出來了,通過正確設置域,我可以使用單個session_id正確地工作。 一切工作正常......謝謝大家!這個技巧幫助我了! – reado 2012-03-24 01:27:51