2010-03-28 73 views
-1

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:代碼的其餘所有的作品,因爲我有一個可用的臨時後門,讓我沒有被記錄在使用應用程序(查看錶的頁面等)

任何想法?

+0

你使用的是什麼認證方法? ORM或文件?如果是文件,文件是否正確讀取?我會深入研究你正在使用的Kohana_Auth_XXX類,並跟蹤調用以找出它失敗的地方。 – 2010-03-29 12:56:46

+0

我正在使用ORM,並且我知道數據庫正在被訪問,因爲我的例程跟蹤向我顯示了它正在提取的信息。根據觀察哪些代碼正在運行,登錄是成功的,它只是不能在最後一步返回$ this-> user對象(即用戶登錄但系統不知道它)。 順便說一句:我做了跟蹤(觀察變量)通過Kohana_Auth_XXX類,它很好。這是從login()函數退出到logged_in()函數的入口,這個對象正在被取消設置。 – Steve 2010-03-29 15:11:15

回答

1

我解決了這個問題(DUH!)。

答案是cookie.php配置文件有$ config ['domain'] ='localhost'。將其設置爲應用程序安裝的實際域名,讓我的生活再次開心!

感謝大家的幫助和關心。