2009-10-05 17 views
2

簡單地說,我想有一個iPhone應用程序,它使用輸入的用戶名和密碼值登錄到Web服務器,然後維護此登錄,以便用戶可以將數據發送到服務器。如何在iPhone應用程序中使用Web服務器保持登錄狀態?

這僅僅是一個使用cookies的問題嗎?如果是這樣,您如何執行檢查以驗證用戶是否已登錄?

謝謝。

回答

2

這不就是你的服務器如何確保登錄的有效性和長期性的問題嗎?服務器可能非常挑剔,並且如果看起來它已經停用超過幾十秒,或IP地址已更改,則不允許登錄繼續。如果您提供正確的會話或事務標識,某些服務器可能會少一些。然後有餅乾。這一切都取決於你正在訪問的服務器。

當你說:

如果是這樣,你怎麼進行檢查,以 驗證用戶登錄?

你是在談論你的iPhone應用程序如何檢查或如何檢查服務器?如果來自iPhone,它應該像狀態調用一樣快速嘗試,並且如果服務器請求認證,那麼您進行認證。如果不是,取決於服務器,則可以假定您已經過身份驗證。

一些應用程序經常進行身份驗證,假設服務器登錄已超時。其他應用程序不喜歡保留用戶的密碼,因此他們很少嘗試這樣做,並且當他們需要顯示登錄屏幕時,他們不必存儲密碼。

2

如果你沒有在Web服務器和這裏的登錄過程控制是我在我的應用程序之一所做的:

[[NSString alloc] initWithContentsOfURL:someURL usedEncoding:&enc error:&error]; 

這種方法已經使用了,所以如果你登錄了餅乾您將保持登錄狀態。假設服務器將會話標識保存到cookie中,會話標識用於標識用戶的會話(這是用戶實現網站的常規方式)。

要檢查用戶是否登錄,只需解析生成的網站。如果用戶以前未登錄,大多數網站會將您的請求重定向到登錄頁面。

爲了澄清聽到的步驟是:

  1. 發送請求某些URL需要登錄
  2. 檢查結果
  3. 如果結果是登錄頁面 - >發送用戶憑據,並從1開始。
  4. 解析結果
相關問題