2012-05-17 111 views
0

我已經在我的CodeIgniter應用程序中編寫了註冊頁面。一切工作正常,它使用PHPass庫進行密碼散列。使用CodeIgniter登錄用戶

現在,我想編寫系統的登錄部分,並想知道如何使用CodeIgniter執行此操作。我主要對這種做法的正確(和最佳實踐)方式感到困惑。我只接受用戶登錄憑據,確定它們是否正確,如果是,請爲該用戶設置會話?他們需要cookie嗎?該cookie是否需要加密?我是否需要跟蹤數據庫中的用戶(CodeIgniter可以爲我執行此操作)並觀察IP地址更改或主機名更改?

回答

2

有很多很多的權威性庫,但因爲你是一個初學者,我堅定地認爲,這是更好地自己做點事情(除非你的時間表非常嚴格)。因爲,正如我的同事曾經告訴我的,沒有犯錯誤,你不會理解爲什麼更好的解決方案實際上更好。

回到您的實際問題。

我只接受用戶登錄憑據,確定它們是否正確,如果是,爲該用戶設置會話?

嗯,是的。沒有其他合理的方式去做,是嗎? :)

他們需要cookie嗎?

會話ID自動存儲在cookie中。您可以將其他選項存儲在Cookie中,但要記住可以竊取Cookie(因此保存用戶名/ cookie不是一個好主意)。另外,人們越來越多地使用多臺設備(例如平板電腦和臺式機),因此使用Cookie更爲明智。

該cookie是否需要加密?

我相信我已經回答了。

0

你或許應該這樣從這裏開始:http://codeigniter.com/wiki/Category:Libraries::Authenticationhttp://codeigniter.com/wiki/Category:Libraries::Authorization

從CI百科:認證是由授權不同。 驗證回答這個問題「是這樣的用戶,他們聲稱 誰呢?」授權回答這個問題:「給定的這個用戶,是他們 授權執行此操作?」

你爲什麼不使用一個許多CI認證庫? How should I choose an authentication library for CodeIgniter?

你只需看看在CI維基所有的具體細節你是後: http://codeigniter.com/wiki/auth