2011-03-28 96 views
0

在我的Iphone App中,用戶使用用戶名和密碼登錄。在用戶登錄後,他可以通過API訪問每個屬性和功能。但我想保持一個會話。也就是說,如果用戶在應用程序中什麼都不做,在獲得30分鐘後,Session應該過期,並且必須要求用戶使用他的用戶名和密碼登錄。如何維護iPhone的會話

回答

2

我目前正在研究一些完全相同的東西。

我做了會話有效性以下情形:

  1. 通過第一傳入的請求,如果Session Token似乎是無效的我試圖在後臺默默再次重新生成會話密鑰。

  2. 如果程序#1由於某些原因無法正常工作,例如用戶從其他地方更改了密碼,我將用戶重新導向到登錄頁面,並且提醒「您的會話密鑰已過期,請登錄再次」。

爲了獲得更多的進入這個我存儲在NSUserDefaults會話密鑰:

// Saving the Key 
[[NSUserDefaults standardUserDefaults] setValue:@"ABCDEFGHIJK" forKey:@"SessionKey"]; 

// Reading the Key 
[[NSUserDefaults standardUserDefaults] stringForKey:@"SessionKey"]; 

希望這有助於。

+0

感謝U Chandan Shetty和Ahmed Kayyali,我會試試這個..謝謝你。 – 2011-03-29 14:33:18

+0

如果您需要任何幫助,請讓我知道。 – 2011-03-29 14:51:14

+0

@Raja:關於你的問題有什麼好運? – 2011-04-07 06:24:17

0

在登錄和適當kThresholdHideValue(單位:秒),在你的情況下,30分鐘(30 * 60)設置一時間mPreviousTime = [NSDate timeIntervalSinceReferenceDate];,你可以檢查的時間是否使用以下方法經過...

NSTimeInterval timeNow = [NSDate timeIntervalSinceReferenceDate]; 
if((mPreviousTime + kThresholdHideValue <= timeNow)) 
{ 
     //Log out 
} 

而且當用戶執行某些操作時,也請撥打mPreviousTime = [NSDate timeIntervalSinceReferenceDate];。所以只有用戶在30分鐘內不執行任何操作時才能註銷。