3.4登錄狀態(tài)的維持
目前APP大都支持長登錄脆贵,就是用戶登錄一次后忆植,如果用戶沒有主動注銷、清除APP緩存數(shù)據(jù)或卸載APP船逮,就在一段時間內(nèi)或一直保持登錄狀態(tài)顾腊。
3.4.1利用Token實現(xiàn)
APP登錄成功后粤铭,服務(wù)器以某種方式挖胃,如隨機生成N位的字符串作為Token,同時設(shè)置一個有效期梆惯,存儲到服務(wù)器中酱鸭,并返回Token給APP。
后續(xù)APP發(fā)送請求時垛吗,都要帶上該Token凹髓,每次服務(wù)器端收到請求時,都要驗證Token和有效期怯屉,Token數(shù)值對且在有效期內(nèi)蔚舀,服務(wù)器返回所需要的結(jié)果饵沧,否則返回錯誤信息,提示用戶重新登錄赌躺。
(這種方式目前使用的最多)
3.4.2利用Cookie實現(xiàn)
APP登錄成功后狼牺,服務(wù)器創(chuàng)建一個包含session_id和Expires兩個屬性值的Cookie,存儲在服務(wù)器中礼患,并發(fā)送給APP是钥。
后續(xù)APP發(fā)送請求時,都要帶上一個包含此session_id的Cookie缅叠,每次服務(wù)器端收到請求時悄泥,都要驗證session_id和有效期,session_id數(shù)值對且在有效期內(nèi)肤粱,服務(wù)器返回所需要的結(jié)果弹囚,否則返回錯誤信息,提示用戶重新登錄领曼。
(這種方式類似瀏覽器的認證方式)
3.4.3利用用戶名和密碼實現(xiàn)
APP登錄成功后余寥,APP每次發(fā)送請求時,都把用戶名和密碼也發(fā)送給服務(wù)器悯森,服務(wù)器每次收到請求都要驗證用戶名和密碼宋舷。如果用戶沒有登錄或注銷了,發(fā)送請求時瓢姻,就不把用戶名和密碼發(fā)送給服務(wù)器祝蝠。