My Kohana應用程序在我的本地機器上運行完美。Kohana Auth Library部署
當我將應用程序部署到服務器(並適當調整配置文件)時,我無法再登錄到該應用程序。
我已經通過我的本地版本和服務器版本,他們都互相一路過關斬將,直到同意你到auth.php控制器LOGGED_IN()例程,其中,突然,應用登錄程序追蹤,在第140行 - is_object($ this-> user)測試 - $ user對象不再存在!?!?!?
的登錄()函數調用調用LOGGED_IN()函數成功通過下列測試,這會導致一個重定向至LOGGED_IN()函數。
if(Auth::instance()->login($user, $post['password']))
是的,密碼和散列等都完美工作。
這裏是有問題的代碼:
public function logged_in()
{
if (! is_object($this->user))
{
// No user is currently logged in
url::redirect('auth/login');
}
etc...
}
由於代碼是我的本地安裝和服務器之間的一樣,我想它一定是與我搞亂了一些服務器設置。
FYI:代碼的其餘所有的作品,因爲我有一個可用的臨時後門,讓我沒有被記錄在使用應用程序(查看錶的頁面等)
任何想法?
你使用的是什麼認證方法? ORM或文件?如果是文件,文件是否正確讀取?我會深入研究你正在使用的Kohana_Auth_XXX類,並跟蹤調用以找出它失敗的地方。 – 2010-03-29 12:56:46
我正在使用ORM,並且我知道數據庫正在被訪問,因爲我的例程跟蹤向我顯示了它正在提取的信息。根據觀察哪些代碼正在運行,登錄是成功的,它只是不能在最後一步返回$ this-> user對象(即用戶登錄但系統不知道它)。 順便說一句:我做了跟蹤(觀察變量)通過Kohana_Auth_XXX類,它很好。這是從login()函數退出到logged_in()函數的入口,這個對象正在被取消設置。 – Steve 2010-03-29 15:11:15